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

segT __regparm3 operand(expressionS *expressionP,expr_mode mode)

{
  uint *puVar1;
  ushort uVar2;
  short sVar3;
  int iVar4;
  offsetT oVar5;
  uint uVar6;
  byte bVar7;
  char cVar8;
  uint uVar9;
  symbolS *psVar10;
  segT paVar11;
  byte *pbVar12;
  char *pcVar13;
  int iVar14;
  int iVar15;
  ushort *puVar16;
  undefined2 *puVar17;
  uint uVar18;
  byte *pbVar19;
  undefined4 uVar20;
  bool bVar21;
  valueT vVar22;
  byte bVar23;
  uint local_48;
  uint local_40;
  uint local_3c;
  char *name;
  undefined4 uStack_14;
  
  uStack_14 = 0x2127b;
  expressionP->field_0x11 = expressionP->field_0x11 & 0xfc | 1;
  pbVar19 = (byte *)input_line_pointer;
  pbVar12 = (byte *)(input_line_pointer + 1);
  if (*input_line_pointer == ' ') {
    pbVar12 = (byte *)(input_line_pointer + 2);
    pbVar19 = (byte *)(input_line_pointer + 1);
  }
  bVar23 = *pbVar19;
  uVar9 = (uint)bVar23;
  if (is_end_of_line[uVar9] != '\0') {
_L369:
    expressionP->field_0x10 = 1;
    input_line_pointer = (char *)pbVar19;
    goto LAB_000212f6;
  }
  input_line_pointer = (char *)pbVar12;
  switch(uVar9 - 0x21 & 0xff) {
  case 0:
  case 10:
  case 0xc:
    operand(expressionP,mode);
    bVar7 = expressionP->field_0x10;
    if (bVar7 == 2) {
      if (bVar23 == 0x2d) {
        iVar15 = (int)expressionP->X_add_number;
        bVar23 = expressionP->field_0x11;
        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);
        iVar14 = -iVar15;
        *(int *)&expressionP->X_add_number = iVar14;
        iVar15 = -(iVar4 + (uint)(iVar15 != 0));
        expressionP->field_0x11 = bVar23 & 0xfe;
        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;
        if (iVar15 != 0 || iVar14 != 0) {
          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;
        }
        goto LAB_000212f6;
      }
      if (bVar23 != 0x22) {
        if (bVar23 == 0x21) {
          oVar5 = expressionP->X_add_number;
          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);
          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;
          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);
        }
        goto LAB_000212f6;
      }
LAB_00021aea:
      *(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;
      puVar1 = (uint *)((int)&expressionP->X_add_number + 4);
      *puVar1 = ~*puVar1;
      goto LAB_000212f6;
    }
    if (bVar7 == 6) {
      uVar9 = (uint)expressionP->X_add_number;
      bVar21 = bVar23 == 0x2d;
      local_48 = *(uint *)((int)&expressionP->X_add_number + 4);
      if ((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)) {
LAB_00021597:
        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;
        if ((bVar23 != 0x7e) && (!bVar21)) {
          if (bVar23 == 0x21) {
            if (generic_bignum == 0) {
              uVar18 = 0;
              uVar6 = 1;
              do {
                local_40 = uVar6;
                local_3c = uVar18;
                if (local_48 == local_3c && uVar9 == local_40) break;
                uVar18 = local_3c + (0xfffffffe < local_40);
                uVar6 = local_40 + 1;
              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);
            }
            else {
              local_40 = 0;
              local_3c = 0;
            }
            *(uint *)&expressionP->X_add_number =
                 (uint)((SBORROW4(local_3c,local_48) !=
                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==
                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);
            uVar2 = *(ushort *)&expressionP->field_0x10;
            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;
            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;
          }
          goto LAB_000212f6;
        }
        puVar16 = (ushort *)&generic_bignum;
        do {
          *puVar16 = ~*puVar16;
          puVar16 = puVar16 + 1;
        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));
        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {
LAB_00021c92:
          if (!bVar21) goto LAB_000212f6;
          uVar9 = (uint)expressionP->X_add_number;
          local_40 = *(int *)((int)&expressionP->X_add_number + 4);
        }
        else {
          *(undefined4 *)&expressionP->X_add_number = 0x14;
          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;
          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;
          puVar17 = &generic_bignum + (uVar9 - 1);
          do {
            puVar17 = puVar17 + 1;
            *puVar17 = 0xffff;
          } while (puVar17 != (undefined2 *)&DAT_00070fa6);
          if (!bVar21) goto LAB_000212f6;
          uVar9 = 0x14;
          local_40 = 0;
        }
        generic_bignum = generic_bignum + 1;
        if (generic_bignum == 0) {
          uVar18 = 1;
          iVar15 = 0;
          do {
            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==
                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;
            sVar3 = (&generic_bignum)[uVar18];
            (&generic_bignum)[uVar18] = sVar3 + 1;
            bVar21 = 0xfffffffe < uVar18;
            uVar18 = uVar18 + 1;
            iVar15 = iVar15 + (uint)bVar21;
          } while ((short)(sVar3 + 1) == 0);
        }
        goto LAB_000212f6;
      }
      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')
         ) {
        bVar21 = generic_floating_point_number.sign == '+';
        generic_floating_point_number.sign = 'N';
        if (bVar21) {
          generic_floating_point_number.sign = '-';
        }
        goto LAB_000212f6;
      }
    }
    else {
LAB_000216f4:
      if (bVar7 < 2) {
        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);
        as_warn(pcVar13,(int)(char)bVar23);
        goto LAB_000212f6;
      }
LAB_000216fc:
      if (bVar23 == 0x2b) goto LAB_000212f6;
    }
    psVar10 = make_expr_symbol(expressionP);
    expressionP->X_add_symbol = psVar10;
    if (bVar23 == 0x2d) {
      expressionP->field_0x10 = 7;
    }
    else if ((bVar23 == 0x7e) || (bVar23 == 0x22)) {
      expressionP->field_0x10 = 8;
    }
    else {
      expressionP->field_0x10 = 9;
    }
    break;
  default:
    if (((lex_type[uVar9] & 2) == 0) && (bVar23 != 0x22)) {
      expressionP->field_0x10 = 1;
      pcVar13 = (char *)dcgettext(0,"bad expression",5);
      as_bad(pcVar13);
      expressionP->field_0x10 = 2;
      *(undefined4 *)&expressionP->X_add_number = 0;
      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;
      goto LAB_000212f6;
    }
    goto LAB_000217d0;
  case 6:
    input_line_pointer = (char *)(pbVar19 + 2);
    expressionP->field_0x10 = 2;
    bVar23 = pbVar19[1];
    *(int *)&expressionP->X_add_number = (int)(char)bVar23;
    *(int *)((int)&expressionP->X_add_number + 4) = (int)(char)bVar23 >> 0x1f;
    goto LAB_000212f6;
  case 7:
  case 0x3a:
    paVar11 = expr(0,expressionP,mode);
    if (bVar23 == 0x28) {
      cVar8 = *input_line_pointer;
      if (cVar8 == ')') goto LAB_000216a2;
      uVar20 = 0x29;
    }
    else {
      if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {
LAB_000216a2:
        input_line_pointer = input_line_pointer + 1;
        goto LAB_000216a7;
      }
      uVar20 = 0x5d;
    }
    if (cVar8 == '\0') {
      pcVar13 = (char *)dcgettext(0,"missing \'%c\'",5);
      as_bad(pcVar13,uVar20);
    }
    else {
      pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);
      as_bad(pcVar13,(int)cVar8,uVar20);
    }
LAB_000216a7:
    if (*input_line_pointer == ' ') {
      input_line_pointer = input_line_pointer + 1;
      return paVar11;
    }
    return paVar11;
  case 0xb:
    goto _L369;
  case 0xd:
    if ((lex_type[pbVar19[1]] & 1) != 0) {
      iVar15 = strncasecmp((char *)pbVar12,"startof.",8);
      if (((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||
         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&
          ((lex_type[pbVar19[8]] & 1) == 0)))) {
        bVar23 = pbVar19[2];
        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;
        if (*pbVar12 == 0x20) {
          pbVar12 = pbVar12 + 1;
        }
        input_line_pointer = (char *)pbVar12;
        expressionP->field_0x10 = 1;
        if (*pbVar12 == 0x28) {
          input_line_pointer = (char *)(pbVar12 + 1);
          if (pbVar12[1] == 0x20) {
            input_line_pointer = (char *)(pbVar12 + 2);
          }
          cVar8 = get_symbol_name(&name);
          if (*name == '\0') {
            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);
            as_bad(pcVar13);
            *input_line_pointer = cVar8;
            if (cVar8 == '\"') {
              restore_line_pointer('\"');
            }
            else if (cVar8 == ')') {
              input_line_pointer = input_line_pointer + 1;
              goto LAB_000212f6;
            }
            ignore_rest_of_line();
            goto LAB_000212f6;
          }
          pcVar13 = ".startof.";
          if ((bVar23 & 0xdf) != 0x54) {
            pcVar13 = ".sizeof.";
          }
          pcVar13 = (char *)concat(pcVar13,name,0);
          psVar10 = symbol_make(pcVar13);
          free(pcVar13);
          expressionP->field_0x10 = 3;
          *(undefined4 *)&expressionP->X_add_number = 0;
          expressionP->X_add_symbol = psVar10;
          pcVar13 = input_line_pointer;
          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;
          *pcVar13 = cVar8;
          cVar8 = *input_line_pointer;
          if (cVar8 == '\"') {
            cVar8 = input_line_pointer[1];
            input_line_pointer = input_line_pointer + 1;
          }
          if (cVar8 == ' ') {
            cVar8 = input_line_pointer[1];
            input_line_pointer = input_line_pointer + 1;
          }
          if (cVar8 == ')') {
            input_line_pointer = input_line_pointer + 1;
            goto LAB_000212f6;
          }
        }
        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);
        as_bad(pcVar13);
        goto LAB_000212f6;
      }
      goto LAB_000217d0;
    }
    if (now_seg == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) {
      expressionP->field_0x10 = 2;
      uVar20 = (undefined4)abs_section_offset;
      *(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;
      *(undefined4 *)&expressionP->X_add_number = uVar20;
      goto LAB_000212f6;
    }
    expressionP->field_0x10 = 3;
    expressionP->X_add_symbol = &dot_symbol;
    break;
  case 0xf:
    bVar23 = pbVar19[1];
    switch((int)(char)bVar23 - 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 (bVar23 != 0) goto LAB_00021973;
      goto LAB_00021916;
    case 0x12:
      if ((byte)(pbVar19[2] - 0x30) < 2) {
LAB_00021952:
        input_line_pointer = (char *)(pbVar19 + 2);
        integer_constant(2,expressionP);
        break;
      }
LAB_00021973:
      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);
      if (pcVar13 != (char *)0x0) {
        pbVar12 = pbVar19 + 2;
        goto LAB_00021994;
      }
LAB_00021916:
      expressionP->field_0x10 = 2;
      *(undefined4 *)&expressionP->X_add_number = 0;
      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;
      break;
    case 0x14:
    case 0x15:
    case 0x16:
    case 0x17:
    case 0x34:
    case 0x35:
    case 0x37:
    case 0x42:
      pbVar12 = pbVar12 + 1;
LAB_00021994:
      input_line_pointer = (char *)pbVar12;
      floating_constant(expressionP);
      bVar23 = PTR__sch_tolower_00067fbc[bVar23];
      *(uint *)&expressionP->X_add_number = -(uint)bVar23;
      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;
      break;
    case 0x28:
    case 0x48:
      input_line_pointer = (char *)(pbVar19 + 2);
      integer_constant(0x10,expressionP);
      break;
    case 0x32:
      if ((byte)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;
      goto _L391;
    case 0x36:
      if ((is_end_of_line[pbVar19[2]] == '\0') &&
         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {
        name = (char *)(pbVar19 + 2);
        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&generic_floating_point_number);
        if ((name != input_line_pointer + 1) &&
           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')
             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;
        pbVar19 = (byte *)(input_line_pointer + -1);
      }
_L391:
      input_line_pointer = (char *)pbVar19;
      integer_constant(10,expressionP);
    }
    goto LAB_000212f6;
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x14:
  case 0x15:
  case 0x16:
  case 0x17:
  case 0x18:
    goto _L391;
  case 0x5d:
    if ((lex_type[uVar9] & 2) == 0) {
      operand(expressionP,mode);
      bVar7 = expressionP->field_0x10;
      if (bVar7 != 2) {
        if (bVar7 == 6) {
          uVar9 = (uint)expressionP->X_add_number;
          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);
          bVar21 = false;
          goto LAB_00021597;
        }
        goto LAB_000216f4;
      }
      goto LAB_00021aea;
    }
LAB_000217d0:
    input_line_pointer = (char *)pbVar19;
    cVar8 = get_symbol_name(&name);
    psVar10 = symbol_find_or_make(name);
    paVar11 = S_GET_SEGMENT(psVar10);
    if (mode == expr_defer) {
LAB_00021828:
      expressionP->field_0x10 = 3;
      expressionP->X_add_symbol = psVar10;
      *(undefined4 *)&expressionP->X_add_number = 0;
      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;
    }
    else {
      if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&
         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {
        expressionP->field_0x10 = 2;
      }
      else {
        if (reg_section != paVar11) goto LAB_00021828;
        expressionP->field_0x10 = 5;
      }
      vVar22 = S_GET_VALUE(psVar10);
      expressionP->X_add_number = vVar22;
    }
    *input_line_pointer = cVar8;
    if (cVar8 == '\"') {
      restore_line_pointer('\"');
    }
    goto LAB_000212f6;
  }
  *(undefined4 *)&expressionP->X_add_number = 0;
  *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;
LAB_000212f6:
  clean_up_expression(expressionP);
  cVar8 = *input_line_pointer;
  while (cVar8 == ' ') {
    input_line_pointer = input_line_pointer + 1;
    cVar8 = *input_line_pointer;
  }
  if (expressionP->X_add_symbol != (symbolS *)0x0) {
    symbol_mark_used(expressionP->X_add_symbol);
  }
  if (mode != expr_defer) {
    psVar10 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);
    expressionP->X_add_symbol = psVar10;
    psVar10 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);
    expressionP->X_op_symbol = psVar10;
  }
  if (expressionP->field_0x10 == '\x03') {
    paVar11 = S_GET_SEGMENT(expressionP->X_add_symbol);
    return paVar11;
  }
  if (expressionP->field_0x10 != '\x05') {
    return (segT)(PTR__bfd_std_section_00067fa4 + 0x180);
  }
  return reg_section;
}



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

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

{
  short sVar1;
  byte bVar2;
  byte bVar3;
  uint uVar4;
  int iVar5;
  undefined *puVar6;
  void *__ptr;
  undefined4 uVar7;
  char *pcVar8;
  undefined4 uVar9;
  int iVar10;
  ushort *puVar11;
  undefined2 *puVar12;
  byte *pbVar13;
  bool bVar14;
  undefined8 uVar15;
  char cVar16;
  byte *pbVar17;
  byte *pbVar18;
  uint uStack_48;
  byte *local_40;
  uint local_3c;
  byte *local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x2127b;
  *(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1;
  pbVar13 = DAT_00070ff8;
  pbVar18 = DAT_00070ff8 + 1;
  if (*DAT_00070ff8 == 0x20) {
    pbVar18 = DAT_00070ff8 + 2;
    pbVar13 = DAT_00070ff8 + 1;
  }
  bVar3 = *pbVar13;
  uVar4 = (uint)bVar3;
  if ((&DAT_000682e0)[uVar4] != '\0') {
LAB_000212f0:
    *(undefined1 *)(param_1 + 4) = 1;
    DAT_00070ff8 = pbVar13;
    goto LAB_000212f6;
  }
  DAT_00070ff8 = pbVar18;
  switch(uVar4 - 0x21 & 0xff) {
  case 0:
  case 10:
  case 0xc:
    pbVar18 = (byte *)(uint)bVar3;
    FUN_00021270();
    bVar3 = *(byte *)(param_1 + 4);
    bVar2 = (byte)pbVar18;
    if (bVar3 == 2) {
      if (bVar2 == 0x2d) {
        iVar5 = param_1[2];
        bVar3 = *(byte *)((int)param_1 + 0x11);
        pbVar18 = (byte *)-iVar5;
        param_1[2] = (int)pbVar18;
        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));
        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;
        param_1[3] = iVar5;
        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {
          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;
        }
        goto LAB_000212f6;
      }
      if (bVar2 != 0x22) {
        if (bVar2 == 0x21) {
          iVar5 = param_1[3];
          param_1[3] = 0;
          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);
        }
        goto LAB_000212f6;
      }
code_r0x00021aea:
      param_1[2] = ~param_1[2];
      param_1[3] = ~param_1[3];
      goto LAB_000212f6;
    }
    if (bVar3 == 6) {
      pbVar18 = (byte *)param_1[2];
      bVar14 = bVar2 == 0x2d;
      uStack_48 = param_1[3];
      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {
code_r0x00021597:
        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;
        if ((bVar2 != 0x7e) && (!bVar14)) {
          if (bVar2 == 0x21) {
            if (DAT_00070f80 == 0) {
              uVar4 = 0;
              pbVar13 = (byte *)0x1;
              do {
                local_40 = pbVar13;
                local_3c = uVar4;
                if (uStack_48 == local_3c && pbVar18 == local_40) break;
                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);
                pbVar13 = local_40 + 1;
              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);
            }
            else {
              local_40 = (byte *)0x0;
              local_3c = 0;
            }
            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=
                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==
                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);
            param_1[3] = 0;
            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;
          }
          goto LAB_000212f6;
        }
        puVar11 = (ushort *)&DAT_00070f80;
        do {
          *puVar11 = ~*puVar11;
          puVar11 = puVar11 + 1;
        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));
        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {
code_r0x00021c92:
          if (!bVar14) goto LAB_000212f6;
          pbVar18 = (byte *)param_1[2];
          local_40 = (byte *)param_1[3];
        }
        else {
          param_1[2] = 0x14;
          param_1[3] = 0;
          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;
          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);
          do {
            puVar12 = puVar12 + 1;
            *puVar12 = 0xffff;
          } while (puVar12 != (undefined2 *)&DAT_00070fa6);
          if (!bVar14) goto LAB_000212f6;
          pbVar18 = (byte *)0x14;
          local_40 = (byte *)0x0;
        }
        DAT_00070f80 = DAT_00070f80 + 1;
        if (DAT_00070f80 == 0) {
          pbVar13 = (byte *)0x1;
          iVar5 = 0;
          do {
            if ((SBORROW4(iVar5,(int)local_40) !=
                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==
                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;
            sVar1 = (&DAT_00070f80)[(int)pbVar13];
            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;
            bVar14 = (byte *)0xfffffffe < pbVar13;
            pbVar13 = pbVar13 + 1;
            iVar5 = iVar5 + (uint)bVar14;
          } while ((short)(sVar1 + 1) == 0);
        }
        goto LAB_000212f6;
      }
      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {
        bVar14 = (char)DAT_00068290 == '+';
        DAT_00068290._0_1_ = 'N';
        if (bVar14) {
          DAT_00068290._0_1_ = '-';
        }
        goto LAB_000212f6;
      }
    }
    else {
code_r0x000216f4:
      if (bVar3 < 2) {
        pbVar18 = (byte *)(uint)bVar2;
        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);
        FUN_0002ab70(uVar7,(int)(char)pbVar18);
        goto LAB_000212f6;
      }
code_r0x000216fc:
      if (bVar2 == 0x2b) goto LAB_000212f6;
    }
    pbVar18 = (byte *)(uint)bVar2;
    iVar5 = FUN_000202c0(param_1);
    cVar16 = (char)pbVar18;
    *param_1 = iVar5;
    if (cVar16 == '-') {
      *(undefined1 *)(param_1 + 4) = 7;
    }
    else if ((cVar16 == '~') || (cVar16 == '\"')) {
      *(undefined1 *)(param_1 + 4) = 8;
    }
    else {
      *(undefined1 *)(param_1 + 4) = 9;
    }
    break;
  default:
    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {
      *(undefined1 *)(param_1 + 4) = 1;
      uVar7 = dcgettext(0,"bad expression",5);
      FUN_0002ac50(uVar7);
      *(undefined1 *)(param_1 + 4) = 2;
      param_1[2] = 0;
      param_1[3] = 0;
      goto LAB_000212f6;
    }
    goto LAB_000217d0;
  case 6:
    DAT_00070ff8 = pbVar13 + 2;
    *(undefined1 *)(param_1 + 4) = 2;
    bVar3 = pbVar13[1];
    param_1[2] = (int)(char)bVar3;
    param_1[3] = (int)(char)bVar3 >> 0x1f;
    goto LAB_000212f6;
  case 7:
  case 0x3a:
    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);
    if (bVar3 == 0x28) {
      bVar3 = *DAT_00070ff8;
      if (bVar3 == 0x29) goto code_r0x000216a2;
      uVar7 = 0x29;
    }
    else {
      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {
code_r0x000216a2:
        DAT_00070ff8 = DAT_00070ff8 + 1;
        goto code_r0x000216a7;
      }
      uVar7 = 0x5d;
    }
    if (bVar3 == 0) {
      uVar9 = dcgettext(0,"missing \'%c\'",5);
      FUN_0002ac50(uVar9,uVar7);
    }
    else {
      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);
      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);
    }
code_r0x000216a7:
    if (*DAT_00070ff8 == 0x20) {
      DAT_00070ff8 = DAT_00070ff8 + 1;
      return puVar6;
    }
    return puVar6;
  case 0xb:
    goto LAB_000212f0;
  case 0xd:
    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {
      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);
      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||
         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&
          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {
        bVar3 = pbVar13[2];
        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;
        if (*pbVar13 == 0x20) {
          pbVar13 = pbVar13 + 1;
        }
        DAT_00070ff8 = pbVar13;
        *(undefined1 *)(param_1 + 4) = 1;
        if (*pbVar13 == 0x28) {
          DAT_00070ff8 = pbVar13 + 1;
          if (pbVar13[1] == 0x20) {
            DAT_00070ff8 = pbVar13 + 2;
          }
          bVar2 = FUN_00021140(local_20);
          if (*local_20[0] == 0) {
            pbVar18 = (byte *)(uint)bVar2;
            uVar7 = dcgettext(0,"expected symbol name",5);
            FUN_0002ac50(uVar7);
            bVar3 = (byte)pbVar18;
            *DAT_00070ff8 = bVar3;
            if (bVar3 == 0x22) {
              FUN_000202a0();
            }
            else if (bVar3 == 0x29) {
              DAT_00070ff8 = DAT_00070ff8 + 1;
              goto LAB_000212f6;
            }
            FUN_0002cf40();
            goto LAB_000212f6;
          }
          pcVar8 = ".startof.";
          if ((bVar3 & 0xdf) != 0x54) {
            pcVar8 = ".sizeof.";
          }
          __ptr = (void *)concat(pcVar8,local_20[0],0);
          pbVar18 = (byte *)FUN_000378b0(__ptr);
          free(__ptr);
          *(undefined1 *)(param_1 + 4) = 3;
          param_1[2] = 0;
          *param_1 = (int)pbVar18;
          pbVar13 = DAT_00070ff8;
          param_1[3] = 0;
          *pbVar13 = bVar2;
          bVar3 = *DAT_00070ff8;
          if (bVar3 == 0x22) {
            bVar3 = DAT_00070ff8[1];
            DAT_00070ff8 = DAT_00070ff8 + 1;
          }
          if (bVar3 == 0x20) {
            bVar3 = DAT_00070ff8[1];
            DAT_00070ff8 = DAT_00070ff8 + 1;
          }
          if (bVar3 == 0x29) {
            DAT_00070ff8 = DAT_00070ff8 + 1;
            goto LAB_000212f6;
          }
        }
        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);
        FUN_0002ac50(uVar7);
        goto LAB_000212f6;
      }
      goto LAB_000217d0;
    }
    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {
      *(undefined1 *)(param_1 + 4) = 2;
      iVar5 = DAT_00070ff0;
      param_1[3] = DAT_00070ff4;
      param_1[2] = iVar5;
      goto LAB_000212f6;
    }
    *(undefined1 *)(param_1 + 4) = 3;
    *param_1 = (int)&DAT_000710e0;
    break;
  case 0xf:
    bVar3 = pbVar13[1];
    switch((int)(char)bVar3 - 0x30U & 0xff) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      FUN_0001fa80();
      break;
    default:
      pbVar17 = pbVar18;
      if (bVar3 != 0) goto code_r0x00021973;
      goto code_r0x00021916;
    case 0x12:
      if ((byte)(pbVar13[2] - 0x30) < 2) {
code_r0x00021952:
        DAT_00070ff8 = pbVar13 + 2;
        FUN_0001fa80();
        break;
      }
code_r0x00021973:
      pbVar17 = (byte *)(uint)bVar3;
      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);
      if (pcVar8 != (char *)0x0) {
        DAT_00070ff8 = pbVar13 + 2;
        goto code_r0x00021994;
      }
code_r0x00021916:
      *(undefined1 *)(param_1 + 4) = 2;
      param_1[2] = 0;
      param_1[3] = 0;
      pbVar18 = pbVar17;
      break;
    case 0x14:
    case 0x15:
    case 0x16:
    case 0x17:
    case 0x34:
    case 0x35:
    case 0x37:
    case 0x42:
      pbVar18 = pbVar18 + 1;
code_r0x00021a50:
      pbVar17 = (byte *)(uint)bVar3;
      DAT_00070ff8 = pbVar18;
code_r0x00021994:
      FUN_0001f9e0();
      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];
      param_1[2] = -(uint)bVar3;
      param_1[3] = (int)-(uint)bVar3 >> 0x1f;
      pbVar18 = pbVar17;
      break;
    case 0x28:
    case 0x48:
      DAT_00070ff8 = pbVar13 + 2;
      FUN_0001fa80();
      break;
    case 0x32:
      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;
      goto code_r0x000213c0;
    case 0x36:
      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&
         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {
        local_20[0] = pbVar13 + 2;
        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);
        pbVar18 = DAT_00070ff8 + 1;
        if ((local_20[0] != pbVar18) &&
           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&
             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;
        pbVar13 = DAT_00070ff8 + -1;
        pbVar18 = DAT_00070ff8;
      }
code_r0x000213c0:
      DAT_00070ff8 = pbVar13;
      FUN_0001fa80();
    }
    goto LAB_000212f6;
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x14:
  case 0x15:
  case 0x16:
  case 0x17:
  case 0x18:
    goto code_r0x000213c0;
  case 0x5d:
    if (((&DAT_000683e0)[uVar4] & 2) == 0) {
      pbVar18 = (byte *)(uint)bVar3;
      FUN_00021270();
      bVar3 = *(byte *)(param_1 + 4);
      bVar2 = (byte)pbVar18;
      if (bVar3 != 2) {
        if (bVar3 == 6) {
          pbVar18 = (byte *)param_1[2];
          uStack_48 = param_1[3];
          bVar14 = false;
          goto code_r0x00021597;
        }
        goto code_r0x000216f4;
      }
      goto code_r0x00021aea;
    }
LAB_000217d0:
    DAT_00070ff8 = pbVar13;
    bVar3 = FUN_00021140(local_20);
    pbVar18 = (byte *)(uint)bVar3;
    iVar5 = FUN_000393d0(local_20[0]);
    puVar6 = (undefined *)FUN_000374b0(iVar5);
    bVar3 = (byte)pbVar18;
    if (param_2 == 2) {
LAB_00021828:
      *(undefined1 *)(param_1 + 4) = 3;
      *param_1 = iVar5;
      param_1[2] = 0;
      param_1[3] = 0;
    }
    else {
      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {
        iVar10 = FUN_00037110(iVar5,0);
        bVar3 = (byte)pbVar18;
        if (iVar10 != 0) goto LAB_0002181a;
        *(undefined1 *)(param_1 + 4) = 2;
      }
      else {
LAB_0002181a:
        if (DAT_00070e90 != puVar6) goto LAB_00021828;
        pbVar18 = (byte *)(uint)bVar3;
        *(undefined1 *)(param_1 + 4) = 5;
      }
      uVar15 = FUN_00038db0(iVar5);
      bVar3 = (byte)pbVar18;
      *(undefined8 *)(param_1 + 2) = uVar15;
    }
    *DAT_00070ff8 = bVar3;
    if (bVar3 == 0x22) {
      FUN_000202a0();
    }
    goto LAB_000212f6;
  }
  param_1[2] = 0;
  param_1[3] = 0;
LAB_000212f6:
  FUN_0001f9a0(pbVar18);
  bVar3 = *DAT_00070ff8;
  while (bVar3 == 0x20) {
    DAT_00070ff8 = DAT_00070ff8 + 1;
    bVar3 = *DAT_00070ff8;
  }
  if (*param_1 != 0) {
    FUN_0003a250(*param_1);
  }
  if (param_2 != 2) {
    iVar5 = FUN_00039a90(*param_1,0);
    *param_1 = iVar5;
    iVar5 = FUN_00039a90(param_1[1],0);
    param_1[1] = iVar5;
  }
  if ((char)param_1[4] == '\x03') {
    puVar6 = (undefined *)FUN_000374b0(*param_1);
    return puVar6;
  }
  if ((char)param_1[4] != '\x05') {
    return PTR__bfd_std_section_00067fa4 + 0x180;
  }
  return DAT_00070e90;
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
PUSH EBX
CALL 0x00015020
ADD EBX,0x46d85
SUB ESP,0x3c
MOVZX EAX,byte ptr [EAX + 0x11]
MOV dword ptr [ESP + 0x8],EDX
AND EAX,0xfffffffc
OR EAX,0x1
LEA ESI,[EBX + 0x8ff8]
MOV byte ptr [EDI + 0x11],AL
MOV EBP,dword ptr [ESI]
LEA EAX,[EBP + 0x1]
CMP byte ptr [EBP],0x20
MOV dword ptr [ESP],EAX
JNZ 0x000212b2
LEA EAX,[EBP + 0x2]
MOV EBP,dword ptr [ESP]
MOV dword ptr [ESP],EAX
MOV EAX,dword ptr [ESP]
LEA EDX,[EBX + 0x2e0]
MOV dword ptr [ESI],EAX
MOVZX EAX,byte ptr [EBP]
MOV dword ptr [ESP + 0x10],EDX
CMP byte ptr [EDX + EAX*0x1],0x0
MOV ECX,EAX
MOV dword ptr [ESP + 0xc],EAX
JNZ 0x000212f0
LEA EAX,[EAX + -0x21]
CMP AL,0x5d
JA 0x0002174c
MOVZX EAX,AL
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xfffe4edc]
ADD EDX,EBX
JMP EDX
MOV byte ptr [EDI + 0x10],0x1
MOV dword ptr [ESI],EBP
MOV EAX,EDI
CALL 0x0001f9a0
MOV EDX,dword ptr [ESI]
CMP byte ptr [EDX],0x20
LEA EAX,[EDX + 0x1]
JNZ 0x0002131b
LEA ESI,[ESI]
NOP
MOV dword ptr [ESI],EAX
ADD EAX,0x1
CMP byte ptr [EAX + -0x1],0x20
JZ 0x00021310
MOV EAX,dword ptr [EDI]
TEST EAX,EAX
JZ 0x0002132d
SUB ESP,0xc
PUSH EAX
CALL 0x0003a250
ADD ESP,0x10
CMP dword ptr [ESP + 0x8],0x2
JZ 0x00021354
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [EDI]
CALL 0x00039a90
MOV dword ptr [EDI],EAX
POP EAX
POP EDX
PUSH 0x0
PUSH dword ptr [EDI + 0x4]
CALL 0x00039a90
ADD ESP,0x10
MOV dword ptr [EDI + 0x4],EAX
MOVZX EAX,byte ptr [EDI + 0x10]
CMP AL,0x3
JZ 0x00021390
CMP AL,0x5
JNZ 0x00021378
LEA EAX,[EBX + 0x8e90]
MOV EDI,dword ptr [EAX]
ADD ESP,0x3c
MOV EAX,EDI
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBX + 0xffffffa4]
ADD ESP,0x3c
POP EBX
POP ESI
LEA EDI,[EAX + 0x180]
MOV EAX,EDI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL 0x000374b0
ADD ESP,0x10
ADD ESP,0x3c
MOV EDI,EAX
POP EBX
MOV EAX,EDI
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBX + 0x3e0]
MOV EDX,dword ptr [ESP + 0xc]
TEST byte ptr [EAX + EDX*0x1],0x2
JNZ 0x000217d0
CMP CL,0x22
JZ 0x000217d0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe4b6a]
MOV byte ptr [EDI + 0x10],0x1
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131b0
MOV dword ptr [ESP],EAX
CALL 0x0002ac50
MOV byte ptr [EDI + 0x10],0x2
ADD ESP,0x10
MOV dword ptr [EDI + 0x8],0x0
MOV dword ptr [EDI + 0xc],0x0
JMP 0x000212f6
SUB ESP,0xc
MOV dword ptr [ESI],EBP
LEA EAX,[ESP + 0x38]
PUSH EAX
CALL 0x00021140
MOV byte ptr [ESP + 0x10],AL
POP ECX
PUSH dword ptr [ESP + 0x38]
CALL 0x000393d0
MOV dword ptr [ESP],EAX
MOV EBP,EAX
CALL 0x000374b0
ADD ESP,0x10
MOVZX ECX,byte ptr [ESP]
CMP dword ptr [ESP + 0x8],0x2
MOV EDX,EAX
JZ 0x00021828
MOV EAX,dword ptr [EBX + 0xffffffa4]
ADD EAX,0x180
CMP EDX,EAX
JZ 0x00021b7d
LEA EAX,[EBX + 0x8e90]
CMP dword ptr [EAX],EDX
JZ 0x00021b41
MOV byte ptr [EDI + 0x10],0x3
MOV dword ptr [EDI],EBP
MOV dword ptr [EDI + 0x8],0x0
MOV dword ptr [EDI + 0xc],0x0
MOV EAX,dword ptr [ESI]
MOV byte ptr [EAX],CL
CMP CL,0x22
JNZ 0x000212f6
CALL 0x000202a0
JMP 0x000212f6
MOV byte ptr [ESP],CL
MOV byte ptr [EDI + 0x10],0x5
SUB ESP,0xc
PUSH EBP
CALL 0x00038db0
ADD ESP,0x10
MOVZX ECX,byte ptr [ESP]
MOV dword ptr [EDI + 0x8],EAX
MOV dword ptr [EDI + 0xc],EDX
JMP 0x0002183c
MOV dword ptr [ESP + 0xc],EDX
SUB ESP,0x8
PUSH 0x0
PUSH EBP
CALL 0x00037110
ADD ESP,0x10
MOVZX ECX,byte ptr [ESP]
MOV EDX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JNZ 0x0002181a
MOV byte ptr [EDI + 0x10],0x2
JMP 0x00021b48
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined * __regparm3 FUN_00021270(int *param_1,int param_2)\n\n{\n  short sVar1;\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  byte *pbVar13;\n  bool bVar14;\n  undefined8 uVar15;\n  char cVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  uint uStack_48;\n  byte *local_40;\n  uint local_3c;\n  byte *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2127b;\n  *(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1;\n  pbVar13 = DAT_00070ff8;\n  pbVar18 = DAT_00070ff8 + 1;\n  if (*DAT_00070ff8 == 0x20) {\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }\n  bVar3 = *pbVar13;\n  uVar4 = (uint)bVar3;\n  if ((&DAT_000682e0)[uVar4] != '\0') {\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }\n  DAT_00070ff8 = pbVar18;\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\n  }\n  param_1[2] = 0;\n  param_1[3] = 0;\nLAB_000212f6:\n  FUN_0001f9a0(pbVar18);\n  bVar3 = *DAT_00070ff8;\n  while (bVar3 == 0x20) {\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }\n  if (*param_1 != 0) {\n    FUN_0003a250(*param_1);\n  }\n  if (param_2 != 2) {\n    iVar5 = FUN_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(param_1[1],0);\n    param_1[1] = iVar5;\n  }\n  if ((char)param_1[4] == '\x03') {\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }\n  if ((char)param_1[4] != '\x05') {\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }\n  return DAT_00070e90;\n}\n\n" comment (ERROR "undefined * __regparm3 FUN_00021270(int *param_1,int param_2)" (binary_expression "undefined * __regparm3 FUN_00021270(int *param_1,int param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_00021270(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 sVar1;\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  byte *pbVar13;\n  bool bVar14;\n  undefined8 uVar15;\n  char cVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  uint uStack_48;\n  byte *local_40;\n  uint local_3c;\n  byte *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2127b;\n  *(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1;\n  pbVar13 = DAT_00070ff8;\n  pbVar18 = DAT_00070ff8 + 1;\n  if (*DAT_00070ff8 == 0x20) {\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }\n  bVar3 = *pbVar13;\n  uVar4 = (uint)bVar3;\n  if ((&DAT_000682e0)[uVar4] != '\0') {\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }\n  DAT_00070ff8 = pbVar18;\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\n  }\n  param_1[2] = 0;\n  param_1[3] = 0;\nLAB_000212f6:\n  FUN_0001f9a0(pbVar18);\n  bVar3 = *DAT_00070ff8;\n  while (bVar3 == 0x20) {\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }\n  if (*param_1 != 0) {\n    FUN_0003a250(*param_1);\n  }\n  if (param_2 != 2) {\n    iVar5 = FUN_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(param_1[1],0);\n    param_1[1] = iVar5;\n  }\n  if ((char)param_1[4] == '\x03') {\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }\n  if ((char)param_1[4] != '\x05') {\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }\n  return DAT_00070e90;\n}" { (declaration "short sVar1;" (sized_type_specifier "short" short) 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 "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "char cVar16;" primitive_type identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "uint uStack_48;" type_identifier identifier ;) (declaration "byte *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "uint local_3c;" type_identifier 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 = 0x2127b;" (assignment_expression "uStack_14 = 0x2127b" identifier = number_literal) ;) (expression_statement "*(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1;" (assignment_expression "*(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1" (pointer_expression "*(byte *)((int)param_1 + 0x11)" * (cast_expression "(byte *)((int)param_1 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_1 + 0x11) & 0xfc | 1" (binary_expression "*(byte *)((int)param_1 + 0x11) & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0x11)" * (cast_expression "(byte *)((int)param_1 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "pbVar13 = DAT_00070ff8;" (assignment_expression "pbVar13 = DAT_00070ff8" identifier = identifier) ;) (expression_statement "pbVar18 = DAT_00070ff8 + 1;" (assignment_expression "pbVar18 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (if_statement "if (*DAT_00070ff8 == 0x20) {\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }" if (parenthesized_expression "(*DAT_00070ff8 == 0x20)" ( (binary_expression "*DAT_00070ff8 == 0x20" (pointer_expression "*DAT_00070ff8" * identifier) == number_literal) )) (compound_statement "{\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }" { (expression_statement "pbVar18 = DAT_00070ff8 + 2;" (assignment_expression "pbVar18 = DAT_00070ff8 + 2" identifier = (binary_expression "DAT_00070ff8 + 2" identifier + number_literal)) ;) (expression_statement "pbVar13 = DAT_00070ff8 + 1;" (assignment_expression "pbVar13 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) })) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" identifier = (pointer_expression "*pbVar13" * 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_000682e0)[uVar4] != '\0') {\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }" if (parenthesized_expression "((&DAT_000682e0)[uVar4] != '\0')" ( (binary_expression "(&DAT_000682e0)[uVar4] != '\0'" (subscript_expression "(&DAT_000682e0)[uVar4]" (parenthesized_expression "(&DAT_000682e0)" ( (pointer_expression "&DAT_000682e0" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }" { (labeled_statement "LAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 4) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 1" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" identifier = identifier) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (expression_statement "DAT_00070ff8 = pbVar18;" (assignment_expression "DAT_00070ff8 = pbVar18" identifier = identifier) ;) (switch_statement "switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\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    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\n  }" { (case_statement "case 0:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;" case number_literal : (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "FUN_00021270();" (call_expression "FUN_00021270()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar3 = *(byte *)(param_1 + 4);" (assignment_expression "bVar3 = *(byte *)(param_1 + 4)" identifier = (pointer_expression "*(byte *)(param_1 + 4)" * (cast_expression "(byte *)(param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = (byte)pbVar18;" (assignment_expression "bVar2 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }" if (parenthesized_expression "(bVar3 == 2)" ( (binary_expression "bVar3 == 2" identifier == number_literal) )) (compound_statement "{\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }" { (if_statement "if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(bVar2 == 0x2d)" ( (binary_expression "bVar2 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }" { (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "bVar3 = *(byte *)((int)param_1 + 0x11);" (assignment_expression "bVar3 = *(byte *)((int)param_1 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_1 + 0x11)" * (cast_expression "(byte *)((int)param_1 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pbVar18 = (byte *)-iVar5;" (assignment_expression "pbVar18 = (byte *)-iVar5" identifier = (cast_expression "(byte *)-iVar5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-iVar5" - identifier))) ;) (expression_statement "param_1[2] = (int)pbVar18;" (assignment_expression "param_1[2] = (int)pbVar18" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar5 = -(param_1[3] + (uint)(iVar5 != 0));" (assignment_expression "iVar5 = -(param_1[3] + (uint)(iVar5 != 0))" identifier = (unary_expression "-(param_1[3] + (uint)(iVar5 != 0))" - (parenthesized_expression "(param_1[3] + (uint)(iVar5 != 0))" ( (binary_expression "param_1[3] + (uint)(iVar5 != 0)" (subscript_expression "param_1[3]" identifier [ number_literal ]) + (call_expression "(uint)(iVar5 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )))) )))) ;) (expression_statement "*(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;" (assignment_expression "*(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe" (pointer_expression "*(byte *)((int)param_1 + 0x11)" * (cast_expression "(byte *)((int)param_1 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar3 & 0xfe" identifier & number_literal)) ;) (expression_statement "param_1[3] = iVar5;" (assignment_expression "param_1[3] = iVar5" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" if (parenthesized_expression "(iVar5 != 0 || pbVar18 != (byte *)0x0)" ( (binary_expression "iVar5 != 0 || pbVar18 != (byte *)0x0" (binary_expression "iVar5 != 0" identifier != number_literal) || (binary_expression "pbVar18 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" { (expression_statement "*(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;" (assignment_expression "*(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0x11)" * (cast_expression "(byte *)((int)param_1 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (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_000212f6;" goto statement_identifier ;) })) (if_statement "if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(bVar2 != 0x22)" ( (binary_expression "bVar2 != 0x22" identifier != number_literal) )) (compound_statement "{\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }" { (if_statement "if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }" if (parenthesized_expression "(bVar2 == 0x21)" ( (binary_expression "bVar2 == 0x21" identifier == number_literal) )) (compound_statement "{\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }" { (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);" (assignment_expression "param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0)" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (call_expression "(uint)(param_1[2] == 0 && iVar5 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1[2] == 0 && iVar5 == 0)" ( (binary_expression "param_1[2] == 0 && iVar5 == 0" (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) == number_literal) && (binary_expression "iVar5 == 0" identifier == number_literal)) )))) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (labeled_statement "code_r0x00021aea:\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 ]))) ;)) (expression_statement "param_1[3] = ~param_1[3];" (assignment_expression "param_1[3] = ~param_1[3]" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (unary_expression "~param_1[3]" ~ (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (if_statement "if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }" if (parenthesized_expression "(bVar3 == 6)" ( (binary_expression "bVar3 == 6" identifier == number_literal) )) (compound_statement "{\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }" { (expression_statement "pbVar18 = (byte *)param_1[2];" (assignment_expression "pbVar18 = (byte *)param_1[2]" identifier = (cast_expression "(byte *)param_1[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "bVar14 = bVar2 == 0x2d;" (assignment_expression "bVar14 = bVar2 == 0x2d" identifier = (binary_expression "bVar2 == 0x2d" identifier == number_literal)) ;) (expression_statement "uStack_48 = param_1[3];" (assignment_expression "uStack_48 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (if_statement "if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14))" ( (binary_expression "(-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)" (parenthesized_expression "(-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48))" ( (binary_expression "-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)" number_literal < (cast_expression "(int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)" ( (binary_expression "(uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48" (binary_expression "(uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0)" (parenthesized_expression "(uStack_48 - 1)" ( (binary_expression "uStack_48 - 1" identifier - number_literal) )) + (call_expression "(uint)(pbVar18 != (byte *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar18 != (byte *)0x0)" ( (binary_expression "pbVar18 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) | identifier) )))) )) || (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) ))) )) (compound_statement "{\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }" { (labeled_statement "code_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;" statement_identifier : (if_statement "if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;" if (parenthesized_expression "((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48)" ( (binary_expression "(int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48" (cast_expression "(int)(uint)(pbVar18 != (byte *)0x0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(pbVar18 != (byte *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar18 != (byte *)0x0)" ( (binary_expression "pbVar18 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) <= (cast_expression "(int)-uStack_48" ( (type_descriptor "int" primitive_type) ) (unary_expression "-uStack_48" - identifier))) )) (goto_statement "goto code_r0x000216fc;" goto statement_identifier ;))) (if_statement "if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }" if (parenthesized_expression "((bVar2 != 0x7e) && (!bVar14))" ( (binary_expression "(bVar2 != 0x7e) && (!bVar14)" (parenthesized_expression "(bVar2 != 0x7e)" ( (binary_expression "bVar2 != 0x7e" identifier != number_literal) )) && (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) ))) )) (compound_statement "{\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }" { (if_statement "if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }" if (parenthesized_expression "(bVar2 == 0x21)" ( (binary_expression "bVar2 == 0x21" identifier == number_literal) )) (compound_statement "{\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }" { (if_statement "if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }" if (parenthesized_expression "(DAT_00070f80 == 0)" ( (binary_expression "DAT_00070f80 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }" { (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "pbVar13 = (byte *)0x1;" (assignment_expression "pbVar13 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);" do (compound_statement "{\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              }" { (expression_statement "local_40 = pbVar13;" (assignment_expression "local_40 = pbVar13" identifier = identifier) ;) (expression_statement "local_3c = uVar4;" (assignment_expression "local_3c = uVar4" identifier = identifier) ;) (if_statement "if (uStack_48 == local_3c && pbVar18 == local_40) break;" if (parenthesized_expression "(uStack_48 == local_3c && pbVar18 == local_40)" ( (binary_expression "uStack_48 == local_3c && pbVar18 == local_40" (binary_expression "uStack_48 == local_3c" identifier == identifier) && (binary_expression "pbVar18 == local_40" identifier == identifier)) )) (break_statement "break;" break ;)) (expression_statement "uVar4 = local_3c + ((byte *)0xfffffffe < local_40);" (assignment_expression "uVar4 = local_3c + ((byte *)0xfffffffe < local_40)" identifier = (binary_expression "local_3c + ((byte *)0xfffffffe < local_40)" identifier + (parenthesized_expression "((byte *)0xfffffffe < local_40)" ( (binary_expression "(byte *)0xfffffffe < local_40" (cast_expression "(byte *)0xfffffffe" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )))) ;) (expression_statement "pbVar13 = local_40 + 1;" (assignment_expression "pbVar13 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0)" ( (binary_expression "*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0" (pointer_expression "*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2)" * (cast_expression "(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00070f7e + (int)(local_40 + 1) * 2)" ( (binary_expression "&DAT_00070f7e + (int)(local_40 + 1) * 2" (pointer_expression "&DAT_00070f7e" & identifier) + (binary_expression "(int)(local_40 + 1) * 2" (cast_expression "(int)(local_40 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_40 + 1)" ( (binary_expression "local_40 + 1" identifier + number_literal) ))) * number_literal)) )))) == number_literal) )) ;) }) (else_clause "else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }" else (compound_statement "{\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }" { (expression_statement "local_40 = (byte *)0x0;" (assignment_expression "local_40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) }))) (expression_statement "param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);" (assignment_expression "param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0)" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (call_expression "(uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0)" ( (binary_expression "(SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0" (parenthesized_expression "(SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18)))" ( (binary_expression "SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))" (call_expression "SBORROW4(local_3c,uStack_48)" identifier (argument_list "(local_3c,uStack_48)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))" identifier (argument_list "(local_3c - uStack_48,(uint)(local_40 < pbVar18))" ( (binary_expression "local_3c - uStack_48" identifier - identifier) , (call_expression "(uint)(local_40 < pbVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_40 < pbVar18)" ( (binary_expression "local_40 < pbVar18" identifier < identifier) ))) )))) )) == (binary_expression "(int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0" (cast_expression "(int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_3c - uStack_48) - (uint)(local_40 < pbVar18))" ( (binary_expression "(local_3c - uStack_48) - (uint)(local_40 < pbVar18)" (parenthesized_expression "(local_3c - uStack_48)" ( (binary_expression "local_3c - uStack_48" identifier - identifier) )) - (call_expression "(uint)(local_40 < pbVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_40 < pbVar18)" ( (binary_expression "local_40 < pbVar18" identifier < identifier) )))) ))) < number_literal)) )))) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;" (assignment_expression "*(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102" (pointer_expression "*(ushort *)(param_1 + 4)" * (cast_expression "(ushort *)(param_1 + 4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (binary_expression "*(ushort *)(param_1 + 4) & 0xfc00 | 0x102" (binary_expression "*(ushort *)(param_1 + 4) & 0xfc00" (pointer_expression "*(ushort *)(param_1 + 4)" * (cast_expression "(ushort *)(param_1 + 4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) & number_literal) | number_literal)) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (expression_statement "puVar11 = (ushort *)&DAT_00070f80;" (assignment_expression "puVar11 = (ushort *)&DAT_00070f80" identifier = (cast_expression "(ushort *)&DAT_00070f80" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00070f80" & identifier))) ;) (do_statement "do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));" 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 *)(&DAT_00070f80 + (int)pbVar18))" ( (binary_expression "puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18)" identifier != (cast_expression "(ushort *)(&DAT_00070f80 + (int)pbVar18)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00070f80 + (int)pbVar18)" ( (binary_expression "&DAT_00070f80 + (int)pbVar18" (pointer_expression "&DAT_00070f80" & identifier) + (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) ;) (if_statement "if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }" if (parenthesized_expression "((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18))" ( (binary_expression "(int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)" (cast_expression "(int)-uStack_48" ( (type_descriptor "int" primitive_type) ) (unary_expression "-uStack_48" - identifier)) < (cast_expression "(int)(uint)((byte *)0x13 < pbVar18)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((byte *)0x13 < pbVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte *)0x13 < pbVar18)" ( (binary_expression "(byte *)0x13 < pbVar18" (cast_expression "(byte *)0x13" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) )) (compound_statement "{\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }" { (labeled_statement "code_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;" statement_identifier : (if_statement "if (!bVar14) goto LAB_000212f6;" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;))) (expression_statement "pbVar18 = (byte *)param_1[2];" (assignment_expression "pbVar18 = (byte *)param_1[2]" identifier = (cast_expression "(byte *)param_1[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "local_40 = (byte *)param_1[3];" (assignment_expression "local_40 = (byte *)param_1[3]" identifier = (cast_expression "(byte *)param_1[3]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }" else (compound_statement "{\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\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 "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;" if (parenthesized_expression "(0x12 < (int)(pbVar18 + -1))" ( (binary_expression "0x12 < (int)(pbVar18 + -1)" number_literal < (cast_expression "(int)(pbVar18 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar18 + -1)" ( (binary_expression "pbVar18 + -1" identifier + number_literal) )))) )) (goto_statement "goto code_r0x00021c92;" goto statement_identifier ;)) (expression_statement "puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);" (assignment_expression "puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1)" identifier = (binary_expression "&DAT_00070f80 + (int)(pbVar18 + -1)" (pointer_expression "&DAT_00070f80" & identifier) + (cast_expression "(int)(pbVar18 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar18 + -1)" ( (binary_expression "pbVar18 + -1" identifier + number_literal) ))))) ;) (do_statement "do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);" do (compound_statement "{\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          }" { (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "*puVar12 = 0xffff;" (assignment_expression "*puVar12 = 0xffff" (pointer_expression "*puVar12" * identifier) = number_literal) ;) }) while (parenthesized_expression "(puVar12 != (undefined2 *)&DAT_00070fa6)" ( (binary_expression "puVar12 != (undefined2 *)&DAT_00070fa6" identifier != (cast_expression "(undefined2 *)&DAT_00070fa6" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00070fa6" & identifier))) )) ;) (if_statement "if (!bVar14) goto LAB_000212f6;" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;)) (expression_statement "pbVar18 = (byte *)0x14;" (assignment_expression "pbVar18 = (byte *)0x14" identifier = (cast_expression "(byte *)0x14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_40 = (byte *)0x0;" (assignment_expression "local_40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "DAT_00070f80 = DAT_00070f80 + 1;" (assignment_expression "DAT_00070f80 = DAT_00070f80 + 1" identifier = (binary_expression "DAT_00070f80 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }" if (parenthesized_expression "(DAT_00070f80 == 0)" ( (binary_expression "DAT_00070f80 == 0" identifier == number_literal) )) (compound_statement "{\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }" { (expression_statement "pbVar13 = (byte *)0x1;" (assignment_expression "pbVar13 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);" do (compound_statement "{\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          }" { (if_statement "if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;" if (parenthesized_expression "((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0)" ( (binary_expression "(SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0" (parenthesized_expression "(SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18)))" ( (binary_expression "SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))" (call_expression "SBORROW4(iVar5,(int)local_40)" identifier (argument_list "(iVar5,(int)local_40)" ( identifier , (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))" identifier (argument_list "(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))" ( (binary_expression "iVar5 - (int)local_40" identifier - (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(pbVar13 < pbVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar13 < pbVar18)" ( (binary_expression "pbVar13 < pbVar18" identifier < identifier) ))) )))) )) == (binary_expression "(int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0" (cast_expression "(int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18))" ( (binary_expression "(iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)" (parenthesized_expression "(iVar5 - (int)local_40)" ( (binary_expression "iVar5 - (int)local_40" identifier - (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(pbVar13 < pbVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar13 < pbVar18)" ( (binary_expression "pbVar13 < pbVar18" identifier < identifier) )))) ))) < number_literal)) )) (break_statement "break;" break ;)) (expression_statement "sVar1 = (&DAT_00070f80)[(int)pbVar13];" (assignment_expression "sVar1 = (&DAT_00070f80)[(int)pbVar13]" identifier = (subscript_expression "(&DAT_00070f80)[(int)pbVar13]" (parenthesized_expression "(&DAT_00070f80)" ( (pointer_expression "&DAT_00070f80" & identifier) )) [ (cast_expression "(int)pbVar13" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "(&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;" (assignment_expression "(&DAT_00070f80)[(int)pbVar13] = sVar1 + 1" (subscript_expression "(&DAT_00070f80)[(int)pbVar13]" (parenthesized_expression "(&DAT_00070f80)" ( (pointer_expression "&DAT_00070f80" & identifier) )) [ (cast_expression "(int)pbVar13" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (binary_expression "sVar1 + 1" identifier + number_literal)) ;) (expression_statement "bVar14 = (byte *)0xfffffffe < pbVar13;" (assignment_expression "bVar14 = (byte *)0xfffffffe < pbVar13" identifier = (binary_expression "(byte *)0xfffffffe < pbVar13" (cast_expression "(byte *)0xfffffffe" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier)) ;) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = iVar5 + (uint)bVar14;" (assignment_expression "iVar5 = iVar5 + (uint)bVar14" identifier = (binary_expression "iVar5 + (uint)bVar14" identifier + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "((short)(sVar1 + 1) == 0)" ( (binary_expression "(short)(sVar1 + 1) == 0" (cast_expression "(short)(sVar1 + 1)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(sVar1 + 1)" ( (binary_expression "sVar1 + 1" identifier + number_literal) ))) == number_literal) )) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (if_statement "if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P'))" ( (binary_expression "((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')" (parenthesized_expression "((char)DAT_00068290 == '+')" ( (binary_expression "(char)DAT_00068290 == '+'" (cast_expression "(char)DAT_00068290" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'+'" ' character ')) )) || (parenthesized_expression "((char)DAT_00068290 == 'P')" ( (binary_expression "(char)DAT_00068290 == 'P'" (cast_expression "(char)DAT_00068290" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'P'" ' character ')) ))) )) (compound_statement "{\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }" { (expression_statement "bVar14 = (char)DAT_00068290 == '+';" (assignment_expression "bVar14 = (char)DAT_00068290 == '+'" identifier = (binary_expression "(char)DAT_00068290 == '+'" (cast_expression "(char)DAT_00068290" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'+'" ' character '))) ;) (expression_statement "DAT_00068290._0_1_ = 'N';" (assignment_expression "DAT_00068290._0_1_ = 'N'" (field_expression "DAT_00068290._0_1_" identifier . field_identifier) = (char_literal "'N'" ' character ')) ;) (if_statement "if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }" if (parenthesized_expression "(bVar14)" ( identifier )) (compound_statement "{\n          DAT_00068290._0_1_ = '-';\n        }" { (expression_statement "DAT_00068290._0_1_ = '-';" (assignment_expression "DAT_00068290._0_1_ = '-'" (field_expression "DAT_00068290._0_1_" identifier . field_identifier) = (char_literal "'-'" ' character ')) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) }) (else_clause "else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }" else (compound_statement "{\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }" { (labeled_statement "code_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }" statement_identifier : (if_statement "if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(bVar3 < 2)" ( (binary_expression "bVar3 < 2" identifier < number_literal) )) (compound_statement "{\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }" { (expression_statement "pbVar18 = (byte *)(uint)bVar2;" (assignment_expression "pbVar18 = (byte *)(uint)bVar2" identifier = (cast_expression "(byte *)(uint)bVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (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_0002ab70(uVar7,(int)(char)pbVar18);" (call_expression "FUN_0002ab70(uVar7,(int)(char)pbVar18)" identifier (argument_list "(uVar7,(int)(char)pbVar18)" ( identifier , (cast_expression "(int)(char)pbVar18" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar18" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) }))) (labeled_statement "code_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;" statement_identifier : (if_statement "if (bVar2 == 0x2b) goto LAB_000212f6;" if (parenthesized_expression "(bVar2 == 0x2b)" ( (binary_expression "bVar2 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;))) }))) (expression_statement "pbVar18 = (byte *)(uint)bVar2;" (assignment_expression "pbVar18 = (byte *)(uint)bVar2" identifier = (cast_expression "(byte *)(uint)bVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar5 = FUN_000202c0(param_1);" (assignment_expression "iVar5 = FUN_000202c0(param_1)" identifier = (call_expression "FUN_000202c0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "cVar16 = (char)pbVar18;" (assignment_expression "cVar16 = (char)pbVar18" identifier = (cast_expression "(char)pbVar18" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" * identifier) = identifier) ;) (if_statement "if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" if (parenthesized_expression "(cVar16 == '-')" ( (binary_expression "cVar16 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 7;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 4) = 7;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 7" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" else (if_statement "if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" if (parenthesized_expression "((cVar16 == '~') || (cVar16 == '\"'))" ( (binary_expression "(cVar16 == '~') || (cVar16 == '\"')" (parenthesized_expression "(cVar16 == '~')" ( (binary_expression "cVar16 == '~'" identifier == (char_literal "'~'" ' character ')) )) || (parenthesized_expression "(cVar16 == '\"')" ( (binary_expression "cVar16 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) ))) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 8;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 4) = 8;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 8" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" else (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 4) = 9;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 9" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }))))) (break_statement "break;" break ;)) (case_statement "default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;" default : (if_statement "if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }" if (parenthesized_expression "((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22))" ( (binary_expression "(((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)" (parenthesized_expression "(((&DAT_000683e0)[uVar4] & 2) == 0)" ( (binary_expression "((&DAT_000683e0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_000683e0)[uVar4] & 2)" ( (binary_expression "(&DAT_000683e0)[uVar4] & 2" (subscript_expression "(&DAT_000683e0)[uVar4]" (parenthesized_expression "(&DAT_000683e0)" ( (pointer_expression "&DAT_000683e0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(bVar3 != 0x22)" ( (binary_expression "bVar3 != 0x22" identifier != number_literal) ))) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 4) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 1" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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_0002ac50(uVar7);" (call_expression "FUN_0002ac50(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (goto_statement "goto LAB_000217d0;" goto statement_identifier ;)) (case_statement "case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;" case number_literal : (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar3 = pbVar13[1];" (assignment_expression "bVar3 = pbVar13[1]" identifier = (subscript_expression "pbVar13[1]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = (int)(char)bVar3;" (assignment_expression "param_1[2] = (int)(char)bVar3" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "param_1[3] = (int)(char)bVar3 >> 0x1f;" (assignment_expression "param_1[3] = (int)(char)bVar3 >> 0x1f" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (binary_expression "(int)(char)bVar3 >> 0x1f" (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) >> number_literal)) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;)) (case_statement "case 7:" case number_literal :) (case_statement "case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;" case number_literal : (expression_statement "puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);" (assignment_expression "puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2)" identifier = (cast_expression "(undefined *)FUN_00021d40(0,param_1,param_2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00021d40(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_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }" if (parenthesized_expression "(bVar3 == 0x28)" ( (binary_expression "bVar3 == 0x28" identifier == number_literal) )) (compound_statement "{\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }" { (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (if_statement "if (bVar3 == 0x29) goto code_r0x000216a2;" if (parenthesized_expression "(bVar3 == 0x29)" ( (binary_expression "bVar3 == 0x29" identifier == number_literal) )) (goto_statement "goto code_r0x000216a2;" goto statement_identifier ;)) (expression_statement "uVar7 = 0x29;" (assignment_expression "uVar7 = 0x29" identifier = number_literal) ;) }) (else_clause "else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }" else (compound_statement "{\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }" { (if_statement "if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }" if (parenthesized_expression "((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d))" ( (binary_expression "(bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)" (parenthesized_expression "(bVar3 != 0x5b)" ( (binary_expression "bVar3 != 0x5b" identifier != number_literal) )) || (parenthesized_expression "(bVar3 = *DAT_00070ff8, bVar3 == 0x5d)" ( (comma_expression "bVar3 = *DAT_00070ff8, bVar3 == 0x5d" (assignment_expression "bVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) , (binary_expression "bVar3 == 0x5d" identifier == number_literal)) ))) )) (compound_statement "{\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }" { (labeled_statement "code_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;" statement_identifier : (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;)) (goto_statement "goto code_r0x000216a7;" 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_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(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_0002ac50(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_0002ac50(uVar9,uVar7);" (call_expression "FUN_0002ac50(uVar9,uVar7)" identifier (argument_list "(uVar9,uVar7)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }" else (compound_statement "{\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(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_0002ac50(uVar9,(int)(char)bVar3,uVar7);" (call_expression "FUN_0002ac50(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_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }" statement_identifier : (if_statement "if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }" if (parenthesized_expression "(*DAT_00070ff8 == 0x20)" ( (binary_expression "*DAT_00070ff8 == 0x20" (pointer_expression "*DAT_00070ff8" * identifier) == number_literal) )) (compound_statement "{\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }" { (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (return_statement "return puVar6;" return identifier ;) }))) (return_statement "return puVar6;" return identifier ;)) (case_statement "case 0xb:\n    goto LAB_000212f0;" case number_literal : (goto_statement "goto LAB_000212f0;" goto statement_identifier ;)) (case_statement "case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;" case number_literal : (if_statement "if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }" if (parenthesized_expression "(((&DAT_000683e0)[pbVar13[1]] & 1) != 0)" ( (binary_expression "((&DAT_000683e0)[pbVar13[1]] & 1) != 0" (parenthesized_expression "((&DAT_000683e0)[pbVar13[1]] & 1)" ( (binary_expression "(&DAT_000683e0)[pbVar13[1]] & 1" (subscript_expression "(&DAT_000683e0)[pbVar13[1]]" (parenthesized_expression "(&DAT_000683e0)" ( (pointer_expression "&DAT_000683e0" & identifier) )) [ (subscript_expression "pbVar13[1]" identifier [ number_literal ]) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }" { (expression_statement "iVar5 = strncasecmp((char *)pbVar18,"startof.",8);" (assignment_expression "iVar5 = strncasecmp((char *)pbVar18,"startof.",8)" identifier = (call_expression "strncasecmp((char *)pbVar18,"startof.",8)" identifier (argument_list "((char *)pbVar18,"startof.",8)" ( (cast_expression "(char *)pbVar18" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""startof."" " string_content ") , number_literal )))) ;) (if_statement "if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0))))" ( (binary_expression "((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))" (parenthesized_expression "((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0))" ( (binary_expression "(iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(((&DAT_000683e0)[pbVar13[9]] & 1) == 0)" ( (binary_expression "((&DAT_000683e0)[pbVar13[9]] & 1) == 0" (parenthesized_expression "((&DAT_000683e0)[pbVar13[9]] & 1)" ( (binary_expression "(&DAT_000683e0)[pbVar13[9]] & 1" (subscript_expression "(&DAT_000683e0)[pbVar13[9]]" (parenthesized_expression "(&DAT_000683e0)" ( (pointer_expression "&DAT_000683e0" & identifier) )) [ (subscript_expression "pbVar13[9]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))" ( (parenthesized_expression "(iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0))" ( (comma_expression "iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)" (assignment_expression "iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7)" identifier = (call_expression "strncasecmp((char *)pbVar18,"sizeof.",7)" identifier (argument_list "((char *)pbVar18,"sizeof.",7)" ( (cast_expression "(char *)pbVar18" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""sizeof."" " string_content ") , number_literal )))) , (binary_expression "iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)" (binary_expression "iVar5 == 0" identifier == number_literal) && (parenthesized_expression "(((&DAT_000683e0)[pbVar13[8]] & 1) == 0)" ( (binary_expression "((&DAT_000683e0)[pbVar13[8]] & 1) == 0" (parenthesized_expression "((&DAT_000683e0)[pbVar13[8]] & 1)" ( (binary_expression "(&DAT_000683e0)[pbVar13[8]] & 1" (subscript_expression "(&DAT_000683e0)[pbVar13[8]]" (parenthesized_expression "(&DAT_000683e0)" ( (pointer_expression "&DAT_000683e0" & identifier) )) [ (subscript_expression "pbVar13[8]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) )))) )) ))) )) (compound_statement "{\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }" { (expression_statement "bVar3 = pbVar13[2];" (assignment_expression "bVar3 = pbVar13[2]" identifier = (subscript_expression "pbVar13[2]" identifier [ number_literal ])) ;) (expression_statement "pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;" (assignment_expression "pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7" identifier = (binary_expression "pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7" (binary_expression "pbVar18 + ((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 (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }" if (parenthesized_expression "(*pbVar13 == 0x20)" ( (binary_expression "*pbVar13 == 0x20" (pointer_expression "*pbVar13" * identifier) == number_literal) )) (compound_statement "{\n          pbVar13 = pbVar13 + 1;\n        }" { (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) })) (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" identifier = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 4) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 1" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }" if (parenthesized_expression "(*pbVar13 == 0x28)" ( (binary_expression "*pbVar13 == 0x28" (pointer_expression "*pbVar13" * identifier) == number_literal) )) (compound_statement "{\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }" { (expression_statement "DAT_00070ff8 = pbVar13 + 1;" (assignment_expression "DAT_00070ff8 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }" if (parenthesized_expression "(pbVar13[1] == 0x20)" ( (binary_expression "pbVar13[1] == 0x20" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            DAT_00070ff8 = pbVar13 + 2;\n          }" { (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) })) (expression_statement "bVar2 = FUN_00021140(local_20);" (assignment_expression "bVar2 = FUN_00021140(local_20)" identifier = (call_expression "FUN_00021140(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (if_statement "if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\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            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }" { (expression_statement "pbVar18 = (byte *)(uint)bVar2;" (assignment_expression "pbVar18 = (byte *)(uint)bVar2" identifier = (cast_expression "(byte *)(uint)bVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (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_0002ac50(uVar7);" (call_expression "FUN_0002ac50(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*DAT_00070ff8 = bVar3;" (assignment_expression "*DAT_00070ff8 = bVar3" (pointer_expression "*DAT_00070ff8" * identifier) = identifier) ;) (if_statement "if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n              FUN_000202a0();\n            }" { (expression_statement "FUN_000202a0();" (call_expression "FUN_000202a0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" else (if_statement "if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" if (parenthesized_expression "(bVar3 == 0x29)" ( (binary_expression "bVar3 == 0x29" identifier == number_literal) )) (compound_statement "{\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" { (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })))) (expression_statement "FUN_0002cf40();" (call_expression "FUN_0002cf40()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000212f6;" 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 "pbVar18 = (byte *)FUN_000378b0(__ptr);" (assignment_expression "pbVar18 = (byte *)FUN_000378b0(__ptr)" identifier = (cast_expression "(byte *)FUN_000378b0(__ptr)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000378b0(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "*(undefined1 *)(param_1 + 4) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 3" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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 = (int)pbVar18;" (assignment_expression "*param_1 = (int)pbVar18" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pbVar13 = DAT_00070ff8;" (assignment_expression "pbVar13 = DAT_00070ff8" identifier = identifier) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*pbVar13 = bVar2;" (assignment_expression "*pbVar13 = bVar2" (pointer_expression "*pbVar13" * identifier) = identifier) ;) (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (if_statement "if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" { (expression_statement "bVar3 = DAT_00070ff8[1];" (assignment_expression "bVar3 = DAT_00070ff8[1]" identifier = (subscript_expression "DAT_00070ff8[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" if (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) )) (compound_statement "{\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" { (expression_statement "bVar3 = DAT_00070ff8[1];" (assignment_expression "bVar3 = DAT_00070ff8[1]" identifier = (subscript_expression "DAT_00070ff8[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }" if (parenthesized_expression "(bVar3 == 0x29)" ( (binary_expression "bVar3 == 0x29" identifier == number_literal) )) (compound_statement "{\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }" { (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000212f6;" 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_0002ac50(uVar7);" (call_expression "FUN_0002ac50(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (goto_statement "goto LAB_000217d0;" goto statement_identifier ;) })) (if_statement "if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }" if (parenthesized_expression "(DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180)" ( (binary_expression "DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180" identifier == (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" identifier + number_literal)) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = DAT_00070ff0;" (assignment_expression "iVar5 = DAT_00070ff0" identifier = identifier) ;) (expression_statement "param_1[3] = DAT_00070ff4;" (assignment_expression "param_1[3] = DAT_00070ff4" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[2] = iVar5;" (assignment_expression "param_1[2] = iVar5" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 4) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 3" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_1 = (int)&DAT_000710e0;" (assignment_expression "*param_1 = (int)&DAT_000710e0" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)&DAT_000710e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_000710e0" & identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;" case number_literal : (expression_statement "bVar3 = pbVar13[1];" (assignment_expression "bVar3 = pbVar13[1]" identifier = (subscript_expression "pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\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_0001fa80();\n      break;" case number_literal : (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;" default : (expression_statement "pbVar17 = pbVar18;" (assignment_expression "pbVar17 = pbVar18" identifier = identifier) ;) (if_statement "if (bVar3 != 0) goto code_r0x00021973;" if (parenthesized_expression "(bVar3 != 0)" ( (binary_expression "bVar3 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00021973;" goto statement_identifier ;)) (goto_statement "goto code_r0x00021916;" goto statement_identifier ;)) (case_statement "case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\n      break;" case number_literal : (if_statement "if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }" if (parenthesized_expression "((byte)(pbVar13[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar13[2] - 0x30) < 2" (call_expression "(byte)(pbVar13[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar13[2] - 0x30)" ( (binary_expression "pbVar13[2] - 0x30" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }" { (labeled_statement "code_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;" statement_identifier : (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;)) (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;) })) (labeled_statement "code_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;" statement_identifier : (expression_statement "pbVar17 = (byte *)(uint)bVar3;" (assignment_expression "pbVar17 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;)) (expression_statement "pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);" (assignment_expression "pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3)" identifier = (call_expression "strchr(PTR_DAT_00067f38,(int)(char)bVar3)" identifier (argument_list "(PTR_DAT_00067f38,(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        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\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        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }" { (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) (goto_statement "goto code_r0x00021994;" goto statement_identifier ;) })) (labeled_statement "code_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" identifier = identifier) ;) (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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;" case number_literal : (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (labeled_statement "code_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;" statement_identifier : (expression_statement "pbVar17 = (byte *)(uint)bVar3;" (assignment_expression "pbVar17 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;)) (expression_statement "DAT_00070ff8 = pbVar18;" (assignment_expression "DAT_00070ff8 = pbVar18" identifier = identifier) ;) (labeled_statement "code_r0x00021994:\n      FUN_0001f9e0();" statement_identifier : (expression_statement "FUN_0001f9e0();" (call_expression "FUN_0001f9e0()" identifier (argument_list "()" ( ))) ;)) (expression_statement "bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];" (assignment_expression "bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff]" identifier = (subscript_expression "PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff]" identifier [ (binary_expression "(uint)pbVar17 & 0xff" (cast_expression "(uint)pbVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ])) ;) (expression_statement "param_1[2] = -(uint)bVar3;" (assignment_expression "param_1[2] = -(uint)bVar3" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (unary_expression "-(uint)bVar3" - (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "param_1[3] = (int)-(uint)bVar3 >> 0x1f;" (assignment_expression "param_1[3] = (int)-(uint)bVar3 >> 0x1f" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (binary_expression "(int)-(uint)bVar3 >> 0x1f" (cast_expression "(int)-(uint)bVar3" ( (type_descriptor "int" primitive_type) ) (unary_expression "-(uint)bVar3" - (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) >> number_literal)) ;) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;" case number_literal : (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;" case number_literal : (if_statement "if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;" if (parenthesized_expression "((byte)(pbVar13[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar13[2] - 0x30) < 2" (call_expression "(byte)(pbVar13[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar13[2] - 0x30)" ( (binary_expression "pbVar13[2] - 0x30" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (goto_statement "goto code_r0x00021952;" goto statement_identifier ;)) (goto_statement "goto code_r0x000213c0;" goto statement_identifier ;)) (case_statement "case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();" case number_literal : (if_statement "if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }" if (parenthesized_expression "(((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0))" ( (binary_expression "((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)" (parenthesized_expression "((&DAT_000682e0)[pbVar13[2]] == '\0')" ( (binary_expression "(&DAT_000682e0)[pbVar13[2]] == '\0'" (subscript_expression "(&DAT_000682e0)[pbVar13[2]]" (parenthesized_expression "(&DAT_000682e0)" ( (pointer_expression "&DAT_000682e0" & identifier) )) [ (subscript_expression "pbVar13[2]" identifier [ number_literal ]) ]) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)" ( (comma_expression "pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0" (assignment_expression "pcVar8 = strchr(PTR_DAT_00067f38,0x66)" identifier = (call_expression "strchr(PTR_DAT_00067f38,0x66)" identifier (argument_list "(PTR_DAT_00067f38,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] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }" { (expression_statement "local_20[0] = pbVar13 + 2;" (assignment_expression "local_20[0] = pbVar13 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) (expression_statement "FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);" (call_expression "FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280)" identifier (argument_list "(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280)" ( identifier , (string_literal ""."" " string_content ") , identifier , (pointer_expression "&PTR_DAT_00068280" & identifier) ))) ;) (expression_statement "pbVar18 = DAT_00070ff8 + 1;" (assignment_expression "pbVar18 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (if_statement "if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;" if (parenthesized_expression "((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62))))" ( (binary_expression "(local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))" (parenthesized_expression "(local_20[0] != pbVar18)" ( (binary_expression "local_20[0] != pbVar18" (subscript_expression "local_20[0]" identifier [ number_literal ]) != identifier) )) && (parenthesized_expression "((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))" ( (parenthesized_expression "(((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62))" ( (binary_expression "((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)" (parenthesized_expression "((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66))" ( (binary_expression "(local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)" (parenthesized_expression "(local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0))" ( (binary_expression "local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)" (binary_expression "local_20[0] != DAT_00070ff8 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) != (binary_expression "DAT_00070ff8 + 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 "(*local_20[0] != 0x62)" ( (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_r0x00021a50;" goto statement_identifier ;)) (expression_statement "pbVar13 = DAT_00070ff8 + -1;" (assignment_expression "pbVar13 = DAT_00070ff8 + -1" identifier = (binary_expression "DAT_00070ff8 + -1" identifier + number_literal)) ;) (expression_statement "pbVar18 = DAT_00070ff8;" (assignment_expression "pbVar18 = DAT_00070ff8" identifier = identifier) ;) })) (labeled_statement "code_r0x000213c0:\n      DAT_00070ff8 = pbVar13;" statement_identifier : (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" identifier = identifier) ;)) (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( ))) ;)) })) (goto_statement "goto LAB_000212f6;" 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_r0x000213c0;" case number_literal : (goto_statement "goto code_r0x000213c0;" goto statement_identifier ;)) (case_statement "case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;" case number_literal : (if_statement "if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }" if (parenthesized_expression "(((&DAT_000683e0)[uVar4] & 2) == 0)" ( (binary_expression "((&DAT_000683e0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_000683e0)[uVar4] & 2)" ( (binary_expression "(&DAT_000683e0)[uVar4] & 2" (subscript_expression "(&DAT_000683e0)[uVar4]" (parenthesized_expression "(&DAT_000683e0)" ( (pointer_expression "&DAT_000683e0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }" { (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "FUN_00021270();" (call_expression "FUN_00021270()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar3 = *(byte *)(param_1 + 4);" (assignment_expression "bVar3 = *(byte *)(param_1 + 4)" identifier = (pointer_expression "*(byte *)(param_1 + 4)" * (cast_expression "(byte *)(param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = (byte)pbVar18;" (assignment_expression "bVar2 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }" if (parenthesized_expression "(bVar3 != 2)" ( (binary_expression "bVar3 != 2" identifier != number_literal) )) (compound_statement "{\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }" { (if_statement "if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }" if (parenthesized_expression "(bVar3 == 6)" ( (binary_expression "bVar3 == 6" identifier == number_literal) )) (compound_statement "{\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }" { (expression_statement "pbVar18 = (byte *)param_1[2];" (assignment_expression "pbVar18 = (byte *)param_1[2]" identifier = (cast_expression "(byte *)param_1[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "uStack_48 = param_1[3];" (assignment_expression "uStack_48 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (goto_statement "goto code_r0x00021597;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000216f4;" goto statement_identifier ;) })) (goto_statement "goto code_r0x00021aea;" goto statement_identifier ;) })) (labeled_statement "LAB_000217d0:\n    DAT_00070ff8 = pbVar13;" statement_identifier : (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" identifier = identifier) ;)) (expression_statement "bVar3 = FUN_00021140(local_20);" (assignment_expression "bVar3 = FUN_00021140(local_20)" identifier = (call_expression "FUN_00021140(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar5 = FUN_000393d0(local_20[0]);" (assignment_expression "iVar5 = FUN_000393d0(local_20[0])" identifier = (call_expression "FUN_000393d0(local_20[0])" identifier (argument_list "(local_20[0])" ( (subscript_expression "local_20[0]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar6 = (undefined *)FUN_000374b0(iVar5);" (assignment_expression "puVar6 = (undefined *)FUN_000374b0(iVar5)" identifier = (cast_expression "(undefined *)FUN_000374b0(iVar5)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000374b0(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))))) ;) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }" { (labeled_statement "LAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 4) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 3" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }" else (compound_statement "{\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }" { (if_statement "if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }" if (parenthesized_expression "(puVar6 == PTR__bfd_std_section_00067fa4 + 0x180)" ( (binary_expression "puVar6 == PTR__bfd_std_section_00067fa4 + 0x180" identifier == (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" identifier + number_literal)) )) (compound_statement "{\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }" { (expression_statement "iVar10 = FUN_00037110(iVar5,0);" (assignment_expression "iVar10 = FUN_00037110(iVar5,0)" identifier = (call_expression "FUN_00037110(iVar5,0)" identifier (argument_list "(iVar5,0)" ( identifier , number_literal )))) ;) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (iVar10 != 0) goto LAB_0002181a;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002181a;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }" else (compound_statement "{\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }" { (labeled_statement "LAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;" statement_identifier : (if_statement "if (DAT_00070e90 != puVar6) goto LAB_00021828;" if (parenthesized_expression "(DAT_00070e90 != puVar6)" ( (binary_expression "DAT_00070e90 != puVar6" identifier != identifier) )) (goto_statement "goto LAB_00021828;" goto statement_identifier ;))) (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(undefined1 *)(param_1 + 4) = 5;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 5" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "uVar15 = FUN_00038db0(iVar5);" (assignment_expression "uVar15 = FUN_00038db0(iVar5)" identifier = (call_expression "FUN_00038db0(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(undefined8 *)(param_1 + 2) = uVar15;" (assignment_expression "*(undefined8 *)(param_1 + 2) = uVar15" (pointer_expression "*(undefined8 *)(param_1 + 2)" * (cast_expression "(undefined8 *)(param_1 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "*DAT_00070ff8 = bVar3;" (assignment_expression "*DAT_00070ff8 = bVar3" (pointer_expression "*DAT_00070ff8" * identifier) = identifier) ;) (if_statement "if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n      FUN_000202a0();\n    }" { (expression_statement "FUN_000202a0();" (call_expression "FUN_000202a0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_000212f6;" 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) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_000212f6:\n  FUN_0001f9a0(pbVar18);" statement_identifier : (expression_statement "FUN_0001f9a0(pbVar18);" (call_expression "FUN_0001f9a0(pbVar18)" identifier (argument_list "(pbVar18)" ( identifier ))) ;)) (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (while_statement "while (bVar3 == 0x20) {\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }" while (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) )) (compound_statement "{\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }" { (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) })) (if_statement "if (*param_1 != 0) {\n    FUN_0003a250(*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_0003a250(*param_1);\n  }" { (expression_statement "FUN_0003a250(*param_1);" (call_expression "FUN_0003a250(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))) ;) })) (if_statement "if (param_2 != 2) {\n    iVar5 = FUN_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(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_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(param_1[1],0);\n    param_1[1] = iVar5;\n  }" { (expression_statement "iVar5 = FUN_00039a90(*param_1,0);" (assignment_expression "iVar5 = FUN_00039a90(*param_1,0)" identifier = (call_expression "FUN_00039a90(*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_00039a90(param_1[1],0);" (assignment_expression "iVar5 = FUN_00039a90(param_1[1],0)" identifier = (call_expression "FUN_00039a90(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[4] == '\x03') {\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }" if (parenthesized_expression "((char)param_1[4] == '\x03')" ( (binary_expression "(char)param_1[4] == '\x03'" (cast_expression "(char)param_1[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }" { (expression_statement "puVar6 = (undefined *)FUN_000374b0(*param_1);" (assignment_expression "puVar6 = (undefined *)FUN_000374b0(*param_1)" identifier = (cast_expression "(undefined *)FUN_000374b0(*param_1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000374b0(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (if_statement "if ((char)param_1[4] != '\x05') {\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }" if (parenthesized_expression "((char)param_1[4] != '\x05')" ( (binary_expression "(char)param_1[4] != '\x05'" (cast_expression "(char)param_1[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }" { (return_statement "return PTR__bfd_std_section_00067fa4 + 0x180;" return (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" identifier + number_literal) ;) })) (return_statement "return DAT_00070e90;" 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  uint *puVar1;\n  ushort uVar2;\n  short sVar3;\n  int iVar4;\n  offsetT oVar5;\n  uint uVar6;\n  byte bVar7;\n  char cVar8;\n  uint uVar9;\n  symbolS *psVar10;\n  segT paVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  int iVar14;\n  int iVar15;\n  ushort *puVar16;\n  undefined2 *puVar17;\n  uint uVar18;\n  byte *pbVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  valueT vVar22;\n  byte bVar23;\n  uint local_48;\n  uint local_40;\n  uint local_3c;\n  char *name;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2127b;\n  expressionP->field_0x11 = expressionP->field_0x11 & 0xfc | 1;\n  pbVar19 = (byte *)input_line_pointer;\n  pbVar12 = (byte *)(input_line_pointer + 1);\n  if (*input_line_pointer == ' ') {\n    pbVar12 = (byte *)(input_line_pointer + 2);\n    pbVar19 = (byte *)(input_line_pointer + 1);\n  }\n  bVar23 = *pbVar19;\n  uVar9 = (uint)bVar23;\n  if (is_end_of_line[uVar9] != '\0') {\n_L369:\n    expressionP->field_0x10 = 1;\n    input_line_pointer = (char *)pbVar19;\n    goto LAB_000212f6;\n  }\n  input_line_pointer = (char *)pbVar12;\n  switch(uVar9 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    operand(expressionP,mode);\n    bVar7 = expressionP->field_0x10;\n    if (bVar7 == 2) {\n      if (bVar23 == 0x2d) {\n        iVar15 = (int)expressionP->X_add_number;\n        bVar23 = expressionP->field_0x11;\n        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);\n        iVar14 = -iVar15;\n        *(int *)&expressionP->X_add_number = iVar14;\n        iVar15 = -(iVar4 + (uint)(iVar15 != 0));\n        expressionP->field_0x11 = bVar23 & 0xfe;\n        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;\n        if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar23 != 0x22) {\n        if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }\n        goto LAB_000212f6;\n      }\nLAB_00021aea:\n      *(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;\n      puVar1 = (uint *)((int)&expressionP->X_add_number + 4);\n      *puVar1 = ~*puVar1;\n      goto LAB_000212f6;\n    }\n    if (bVar7 == 6) {\n      uVar9 = (uint)expressionP->X_add_number;\n      bVar21 = bVar23 == 0x2d;\n      local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n      if ((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)) {\nLAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;\n        if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar16 = (ushort *)&generic_bignum;\n        do {\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));\n        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }\n        generic_bignum = generic_bignum + 1;\n        if (generic_bignum == 0) {\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar21 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\nLAB_000216f4:\n      if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }\nLAB_000216fc:\n      if (bVar23 == 0x2b) goto LAB_000212f6;\n    }\n    psVar10 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar10;\n    if (bVar23 == 0x2d) {\n      expressionP->field_0x10 = 7;\n    }\n    else if ((bVar23 == 0x7e) || (bVar23 == 0x22)) {\n      expressionP->field_0x10 = 8;\n    }\n    else {\n      expressionP->field_0x10 = 9;\n    }\n    break;\n  default:\n    if (((lex_type[uVar9] & 2) == 0) && (bVar23 != 0x22)) {\n      expressionP->field_0x10 = 1;\n      pcVar13 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar13);\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    input_line_pointer = (char *)(pbVar19 + 2);\n    expressionP->field_0x10 = 2;\n    bVar23 = pbVar19[1];\n    *(int *)&expressionP->X_add_number = (int)(char)bVar23;\n    *(int *)((int)&expressionP->X_add_number + 4) = (int)(char)bVar23 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    paVar11 = expr(0,expressionP,mode);\n    if (bVar23 == 0x28) {\n      cVar8 = *input_line_pointer;\n      if (cVar8 == ')') goto LAB_000216a2;\n      uVar20 = 0x29;\n    }\n    else {\n      if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }\n      uVar20 = 0x5d;\n    }\n    if (cVar8 == '\0') {\n      pcVar13 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar13,uVar20);\n    }\n    else {\n      pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar13,(int)cVar8,uVar20);\n    }\nLAB_000216a7:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar11;\n    }\n    return paVar11;\n  case 0xb:\n    goto _L369;\n  case 0xd:\n    if ((lex_type[pbVar19[1]] & 1) != 0) {\n      iVar15 = strncasecmp((char *)pbVar12,"startof.",8);\n      if (((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))) {\n        bVar23 = pbVar19[2];\n        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;\n        if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }\n        input_line_pointer = (char *)pbVar12;\n        expressionP->field_0x10 = 1;\n        if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }\n        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar13);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) {\n      expressionP->field_0x10 = 2;\n      uVar20 = (undefined4)abs_section_offset;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;\n      *(undefined4 *)&expressionP->X_add_number = uVar20;\n      goto LAB_000212f6;\n    }\n    expressionP->field_0x10 = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;\n  case 0xf:\n    bVar23 = pbVar19[1];\n    switch((int)(char)bVar23 - 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 (bVar23 != 0) goto LAB_00021973;\n      goto LAB_00021916;\n    case 0x12:\n      if ((byte)(pbVar19[2] - 0x30) < 2) {\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00021973:\n      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);\n      if (pcVar13 != (char *)0x0) {\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }\nLAB_00021916:\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 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      pbVar12 = pbVar12 + 1;\nLAB_00021994:\n      input_line_pointer = (char *)pbVar12;\n      floating_constant(expressionP);\n      bVar23 = PTR__sch_tolower_00067fbc[bVar23];\n      *(uint *)&expressionP->X_add_number = -(uint)bVar23;\n      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar19 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;\n      goto _L391;\n    case 0x36:\n      if ((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }\n_L391:\n      input_line_pointer = (char *)pbVar19;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_000212f6;\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 _L391;\n  case 0x5d:\n    if ((lex_type[uVar9] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar7 = expressionP->field_0x10;\n      if (bVar7 != 2) {\n        if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }\n        goto LAB_000216f4;\n      }\n      goto LAB_00021aea;\n    }\nLAB_000217d0:\n    input_line_pointer = (char *)pbVar19;\n    cVar8 = get_symbol_name(&name);\n    psVar10 = symbol_find_or_make(name);\n    paVar11 = S_GET_SEGMENT(psVar10);\n    if (mode == expr_defer) {\nLAB_00021828:\n      expressionP->field_0x10 = 3;\n      expressionP->X_add_symbol = psVar10;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n    }\n    else {\n      if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {\n        expressionP->field_0x10 = 2;\n      }\n      else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }\n      vVar22 = S_GET_VALUE(psVar10);\n      expressionP->X_add_number = vVar22;\n    }\n    *input_line_pointer = cVar8;\n    if (cVar8 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_000212f6;\n  }\n  *(undefined4 *)&expressionP->X_add_number = 0;\n  *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\nLAB_000212f6:\n  clean_up_expression(expressionP);\n  cVar8 = *input_line_pointer;\n  while (cVar8 == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n    cVar8 = *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    psVar10 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);\n    expressionP->X_add_symbol = psVar10;\n    psVar10 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);\n    expressionP->X_op_symbol = psVar10;\n  }\n  if (expressionP->field_0x10 == '\x03') {\n    paVar11 = S_GET_SEGMENT(expressionP->X_add_symbol);\n    return paVar11;\n  }\n  if (expressionP->field_0x10 != '\x05') {\n    return (segT)(PTR__bfd_std_section_00067fa4 + 0x180);\n  }\n  return reg_section;\n}\n\n" comment (function_definition "segT __regparm3 operand(expressionS *expressionP,expr_mode mode)\n\n{\n  uint *puVar1;\n  ushort uVar2;\n  short sVar3;\n  int iVar4;\n  offsetT oVar5;\n  uint uVar6;\n  byte bVar7;\n  char cVar8;\n  uint uVar9;\n  symbolS *psVar10;\n  segT paVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  int iVar14;\n  int iVar15;\n  ushort *puVar16;\n  undefined2 *puVar17;\n  uint uVar18;\n  byte *pbVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  valueT vVar22;\n  byte bVar23;\n  uint local_48;\n  uint local_40;\n  uint local_3c;\n  char *name;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2127b;\n  expressionP->field_0x11 = expressionP->field_0x11 & 0xfc | 1;\n  pbVar19 = (byte *)input_line_pointer;\n  pbVar12 = (byte *)(input_line_pointer + 1);\n  if (*input_line_pointer == ' ') {\n    pbVar12 = (byte *)(input_line_pointer + 2);\n    pbVar19 = (byte *)(input_line_pointer + 1);\n  }\n  bVar23 = *pbVar19;\n  uVar9 = (uint)bVar23;\n  if (is_end_of_line[uVar9] != '\0') {\n_L369:\n    expressionP->field_0x10 = 1;\n    input_line_pointer = (char *)pbVar19;\n    goto LAB_000212f6;\n  }\n  input_line_pointer = (char *)pbVar12;\n  switch(uVar9 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    operand(expressionP,mode);\n    bVar7 = expressionP->field_0x10;\n    if (bVar7 == 2) {\n      if (bVar23 == 0x2d) {\n        iVar15 = (int)expressionP->X_add_number;\n        bVar23 = expressionP->field_0x11;\n        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);\n        iVar14 = -iVar15;\n        *(int *)&expressionP->X_add_number = iVar14;\n        iVar15 = -(iVar4 + (uint)(iVar15 != 0));\n        expressionP->field_0x11 = bVar23 & 0xfe;\n        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;\n        if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar23 != 0x22) {\n        if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }\n        goto LAB_000212f6;\n      }\nLAB_00021aea:\n      *(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;\n      puVar1 = (uint *)((int)&expressionP->X_add_number + 4);\n      *puVar1 = ~*puVar1;\n      goto LAB_000212f6;\n    }\n    if (bVar7 == 6) {\n      uVar9 = (uint)expressionP->X_add_number;\n      bVar21 = bVar23 == 0x2d;\n      local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n      if ((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)) {\nLAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;\n        if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar16 = (ushort *)&generic_bignum;\n        do {\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));\n        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }\n        generic_bignum = generic_bignum + 1;\n        if (generic_bignum == 0) {\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar21 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\nLAB_000216f4:\n      if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }\nLAB_000216fc:\n      if (bVar23 == 0x2b) goto LAB_000212f6;\n    }\n    psVar10 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar10;\n    if (bVar23 == 0x2d) {\n      expressionP->field_0x10 = 7;\n    }\n    else if ((bVar23 == 0x7e) || (bVar23 == 0x22)) {\n      expressionP->field_0x10 = 8;\n    }\n    else {\n      expressionP->field_0x10 = 9;\n    }\n    break;\n  default:\n    if (((lex_type[uVar9] & 2) == 0) && (bVar23 != 0x22)) {\n      expressionP->field_0x10 = 1;\n      pcVar13 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar13);\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    input_line_pointer = (char *)(pbVar19 + 2);\n    expressionP->field_0x10 = 2;\n    bVar23 = pbVar19[1];\n    *(int *)&expressionP->X_add_number = (int)(char)bVar23;\n    *(int *)((int)&expressionP->X_add_number + 4) = (int)(char)bVar23 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    paVar11 = expr(0,expressionP,mode);\n    if (bVar23 == 0x28) {\n      cVar8 = *input_line_pointer;\n      if (cVar8 == ')') goto LAB_000216a2;\n      uVar20 = 0x29;\n    }\n    else {\n      if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }\n      uVar20 = 0x5d;\n    }\n    if (cVar8 == '\0') {\n      pcVar13 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar13,uVar20);\n    }\n    else {\n      pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar13,(int)cVar8,uVar20);\n    }\nLAB_000216a7:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar11;\n    }\n    return paVar11;\n  case 0xb:\n    goto _L369;\n  case 0xd:\n    if ((lex_type[pbVar19[1]] & 1) != 0) {\n      iVar15 = strncasecmp((char *)pbVar12,"startof.",8);\n      if (((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))) {\n        bVar23 = pbVar19[2];\n        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;\n        if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }\n        input_line_pointer = (char *)pbVar12;\n        expressionP->field_0x10 = 1;\n        if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }\n        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar13);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) {\n      expressionP->field_0x10 = 2;\n      uVar20 = (undefined4)abs_section_offset;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;\n      *(undefined4 *)&expressionP->X_add_number = uVar20;\n      goto LAB_000212f6;\n    }\n    expressionP->field_0x10 = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;\n  case 0xf:\n    bVar23 = pbVar19[1];\n    switch((int)(char)bVar23 - 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 (bVar23 != 0) goto LAB_00021973;\n      goto LAB_00021916;\n    case 0x12:\n      if ((byte)(pbVar19[2] - 0x30) < 2) {\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00021973:\n      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);\n      if (pcVar13 != (char *)0x0) {\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }\nLAB_00021916:\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 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      pbVar12 = pbVar12 + 1;\nLAB_00021994:\n      input_line_pointer = (char *)pbVar12;\n      floating_constant(expressionP);\n      bVar23 = PTR__sch_tolower_00067fbc[bVar23];\n      *(uint *)&expressionP->X_add_number = -(uint)bVar23;\n      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar19 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;\n      goto _L391;\n    case 0x36:\n      if ((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }\n_L391:\n      input_line_pointer = (char *)pbVar19;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_000212f6;\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 _L391;\n  case 0x5d:\n    if ((lex_type[uVar9] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar7 = expressionP->field_0x10;\n      if (bVar7 != 2) {\n        if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }\n        goto LAB_000216f4;\n      }\n      goto LAB_00021aea;\n    }\nLAB_000217d0:\n    input_line_pointer = (char *)pbVar19;\n    cVar8 = get_symbol_name(&name);\n    psVar10 = symbol_find_or_make(name);\n    paVar11 = S_GET_SEGMENT(psVar10);\n    if (mode == expr_defer) {\nLAB_00021828:\n      expressionP->field_0x10 = 3;\n      expressionP->X_add_symbol = psVar10;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n    }\n    else {\n      if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {\n        expressionP->field_0x10 = 2;\n      }\n      else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }\n      vVar22 = S_GET_VALUE(psVar10);\n      expressionP->X_add_number = vVar22;\n    }\n    *input_line_pointer = cVar8;\n    if (cVar8 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_000212f6;\n  }\n  *(undefined4 *)&expressionP->X_add_number = 0;\n  *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\nLAB_000212f6:\n  clean_up_expression(expressionP);\n  cVar8 = *input_line_pointer;\n  while (cVar8 == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n    cVar8 = *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    psVar10 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);\n    expressionP->X_add_symbol = psVar10;\n    psVar10 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);\n    expressionP->X_op_symbol = psVar10;\n  }\n  if (expressionP->field_0x10 == '\x03') {\n    paVar11 = S_GET_SEGMENT(expressionP->X_add_symbol);\n    return paVar11;\n  }\n  if (expressionP->field_0x10 != '\x05') {\n    return (segT)(PTR__bfd_std_section_00067fa4 + 0x180);\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  uint *puVar1;\n  ushort uVar2;\n  short sVar3;\n  int iVar4;\n  offsetT oVar5;\n  uint uVar6;\n  byte bVar7;\n  char cVar8;\n  uint uVar9;\n  symbolS *psVar10;\n  segT paVar11;\n  byte *pbVar12;\n  char *pcVar13;\n  int iVar14;\n  int iVar15;\n  ushort *puVar16;\n  undefined2 *puVar17;\n  uint uVar18;\n  byte *pbVar19;\n  undefined4 uVar20;\n  bool bVar21;\n  valueT vVar22;\n  byte bVar23;\n  uint local_48;\n  uint local_40;\n  uint local_3c;\n  char *name;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2127b;\n  expressionP->field_0x11 = expressionP->field_0x11 & 0xfc | 1;\n  pbVar19 = (byte *)input_line_pointer;\n  pbVar12 = (byte *)(input_line_pointer + 1);\n  if (*input_line_pointer == ' ') {\n    pbVar12 = (byte *)(input_line_pointer + 2);\n    pbVar19 = (byte *)(input_line_pointer + 1);\n  }\n  bVar23 = *pbVar19;\n  uVar9 = (uint)bVar23;\n  if (is_end_of_line[uVar9] != '\0') {\n_L369:\n    expressionP->field_0x10 = 1;\n    input_line_pointer = (char *)pbVar19;\n    goto LAB_000212f6;\n  }\n  input_line_pointer = (char *)pbVar12;\n  switch(uVar9 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    operand(expressionP,mode);\n    bVar7 = expressionP->field_0x10;\n    if (bVar7 == 2) {\n      if (bVar23 == 0x2d) {\n        iVar15 = (int)expressionP->X_add_number;\n        bVar23 = expressionP->field_0x11;\n        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);\n        iVar14 = -iVar15;\n        *(int *)&expressionP->X_add_number = iVar14;\n        iVar15 = -(iVar4 + (uint)(iVar15 != 0));\n        expressionP->field_0x11 = bVar23 & 0xfe;\n        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;\n        if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar23 != 0x22) {\n        if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }\n        goto LAB_000212f6;\n      }\nLAB_00021aea:\n      *(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;\n      puVar1 = (uint *)((int)&expressionP->X_add_number + 4);\n      *puVar1 = ~*puVar1;\n      goto LAB_000212f6;\n    }\n    if (bVar7 == 6) {\n      uVar9 = (uint)expressionP->X_add_number;\n      bVar21 = bVar23 == 0x2d;\n      local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n      if ((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)) {\nLAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;\n        if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar16 = (ushort *)&generic_bignum;\n        do {\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));\n        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }\n        generic_bignum = generic_bignum + 1;\n        if (generic_bignum == 0) {\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar21 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\nLAB_000216f4:\n      if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }\nLAB_000216fc:\n      if (bVar23 == 0x2b) goto LAB_000212f6;\n    }\n    psVar10 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar10;\n    if (bVar23 == 0x2d) {\n      expressionP->field_0x10 = 7;\n    }\n    else if ((bVar23 == 0x7e) || (bVar23 == 0x22)) {\n      expressionP->field_0x10 = 8;\n    }\n    else {\n      expressionP->field_0x10 = 9;\n    }\n    break;\n  default:\n    if (((lex_type[uVar9] & 2) == 0) && (bVar23 != 0x22)) {\n      expressionP->field_0x10 = 1;\n      pcVar13 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar13);\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    input_line_pointer = (char *)(pbVar19 + 2);\n    expressionP->field_0x10 = 2;\n    bVar23 = pbVar19[1];\n    *(int *)&expressionP->X_add_number = (int)(char)bVar23;\n    *(int *)((int)&expressionP->X_add_number + 4) = (int)(char)bVar23 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    paVar11 = expr(0,expressionP,mode);\n    if (bVar23 == 0x28) {\n      cVar8 = *input_line_pointer;\n      if (cVar8 == ')') goto LAB_000216a2;\n      uVar20 = 0x29;\n    }\n    else {\n      if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }\n      uVar20 = 0x5d;\n    }\n    if (cVar8 == '\0') {\n      pcVar13 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar13,uVar20);\n    }\n    else {\n      pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar13,(int)cVar8,uVar20);\n    }\nLAB_000216a7:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar11;\n    }\n    return paVar11;\n  case 0xb:\n    goto _L369;\n  case 0xd:\n    if ((lex_type[pbVar19[1]] & 1) != 0) {\n      iVar15 = strncasecmp((char *)pbVar12,"startof.",8);\n      if (((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))) {\n        bVar23 = pbVar19[2];\n        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;\n        if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }\n        input_line_pointer = (char *)pbVar12;\n        expressionP->field_0x10 = 1;\n        if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }\n        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar13);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) {\n      expressionP->field_0x10 = 2;\n      uVar20 = (undefined4)abs_section_offset;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;\n      *(undefined4 *)&expressionP->X_add_number = uVar20;\n      goto LAB_000212f6;\n    }\n    expressionP->field_0x10 = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;\n  case 0xf:\n    bVar23 = pbVar19[1];\n    switch((int)(char)bVar23 - 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 (bVar23 != 0) goto LAB_00021973;\n      goto LAB_00021916;\n    case 0x12:\n      if ((byte)(pbVar19[2] - 0x30) < 2) {\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00021973:\n      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);\n      if (pcVar13 != (char *)0x0) {\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }\nLAB_00021916:\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 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      pbVar12 = pbVar12 + 1;\nLAB_00021994:\n      input_line_pointer = (char *)pbVar12;\n      floating_constant(expressionP);\n      bVar23 = PTR__sch_tolower_00067fbc[bVar23];\n      *(uint *)&expressionP->X_add_number = -(uint)bVar23;\n      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar19 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;\n      goto _L391;\n    case 0x36:\n      if ((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }\n_L391:\n      input_line_pointer = (char *)pbVar19;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_000212f6;\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 _L391;\n  case 0x5d:\n    if ((lex_type[uVar9] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar7 = expressionP->field_0x10;\n      if (bVar7 != 2) {\n        if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }\n        goto LAB_000216f4;\n      }\n      goto LAB_00021aea;\n    }\nLAB_000217d0:\n    input_line_pointer = (char *)pbVar19;\n    cVar8 = get_symbol_name(&name);\n    psVar10 = symbol_find_or_make(name);\n    paVar11 = S_GET_SEGMENT(psVar10);\n    if (mode == expr_defer) {\nLAB_00021828:\n      expressionP->field_0x10 = 3;\n      expressionP->X_add_symbol = psVar10;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n    }\n    else {\n      if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {\n        expressionP->field_0x10 = 2;\n      }\n      else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }\n      vVar22 = S_GET_VALUE(psVar10);\n      expressionP->X_add_number = vVar22;\n    }\n    *input_line_pointer = cVar8;\n    if (cVar8 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_000212f6;\n  }\n  *(undefined4 *)&expressionP->X_add_number = 0;\n  *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\nLAB_000212f6:\n  clean_up_expression(expressionP);\n  cVar8 = *input_line_pointer;\n  while (cVar8 == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n    cVar8 = *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    psVar10 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);\n    expressionP->X_add_symbol = psVar10;\n    psVar10 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);\n    expressionP->X_op_symbol = psVar10;\n  }\n  if (expressionP->field_0x10 == '\x03') {\n    paVar11 = S_GET_SEGMENT(expressionP->X_add_symbol);\n    return paVar11;\n  }\n  if (expressionP->field_0x10 != '\x05') {\n    return (segT)(PTR__bfd_std_section_00067fa4 + 0x180);\n  }\n  return reg_section;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "short sVar3;" (sized_type_specifier "short" short) identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "offsetT oVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "symbolS *psVar10;" type_identifier (pointer_declarator "*psVar10" * identifier) ;) (declaration "segT paVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "ushort *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined2 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "valueT vVar22;" type_identifier identifier ;) (declaration "byte bVar23;" type_identifier identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "char *name;" primitive_type (pointer_declarator "*name" * identifier) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2127b;" (assignment_expression "uStack_14 = 0x2127b" identifier = number_literal) ;) (expression_statement "expressionP->field_0x11 = expressionP->field_0x11 & 0xfc | 1;" (assignment_expression "expressionP->field_0x11 = expressionP->field_0x11 & 0xfc | 1" (field_expression "expressionP->field_0x11" identifier -> field_identifier) = (binary_expression "expressionP->field_0x11 & 0xfc | 1" (binary_expression "expressionP->field_0x11 & 0xfc" (field_expression "expressionP->field_0x11" identifier -> field_identifier) & number_literal) | number_literal)) ;) (expression_statement "pbVar19 = (byte *)input_line_pointer;" (assignment_expression "pbVar19 = (byte *)input_line_pointer" identifier = (cast_expression "(byte *)input_line_pointer" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)(input_line_pointer + 1);" (assignment_expression "pbVar12 = (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    pbVar12 = (byte *)(input_line_pointer + 2);\n    pbVar19 = (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    pbVar12 = (byte *)(input_line_pointer + 2);\n    pbVar19 = (byte *)(input_line_pointer + 1);\n  }" { (expression_statement "pbVar12 = (byte *)(input_line_pointer + 2);" (assignment_expression "pbVar12 = (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 "pbVar19 = (byte *)(input_line_pointer + 1);" (assignment_expression "pbVar19 = (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 "bVar23 = *pbVar19;" (assignment_expression "bVar23 = *pbVar19" identifier = (pointer_expression "*pbVar19" * identifier)) ;) (expression_statement "uVar9 = (uint)bVar23;" (assignment_expression "uVar9 = (uint)bVar23" identifier = (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (is_end_of_line[uVar9] != '\0') {\n_L369:\n    expressionP->field_0x10 = 1;\n    input_line_pointer = (char *)pbVar19;\n    goto LAB_000212f6;\n  }" if (parenthesized_expression "(is_end_of_line[uVar9] != '\0')" ( (binary_expression "is_end_of_line[uVar9] != '\0'" (subscript_expression "is_end_of_line[uVar9]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n_L369:\n    expressionP->field_0x10 = 1;\n    input_line_pointer = (char *)pbVar19;\n    goto LAB_000212f6;\n  }" { (labeled_statement "_L369:\n    expressionP->field_0x10 = 1;" statement_identifier : (expression_statement "expressionP->field_0x10 = 1;" (assignment_expression "expressionP->field_0x10 = 1" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;)) (expression_statement "input_line_pointer = (char *)pbVar19;" (assignment_expression "input_line_pointer = (char *)pbVar19" identifier = (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (expression_statement "input_line_pointer = (char *)pbVar12;" (assignment_expression "input_line_pointer = (char *)pbVar12" identifier = (cast_expression "(char *)pbVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (switch_statement "switch(uVar9 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    operand(expressionP,mode);\n    bVar7 = expressionP->field_0x10;\n    if (bVar7 == 2) {\n      if (bVar23 == 0x2d) {\n        iVar15 = (int)expressionP->X_add_number;\n        bVar23 = expressionP->field_0x11;\n        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);\n        iVar14 = -iVar15;\n        *(int *)&expressionP->X_add_number = iVar14;\n        iVar15 = -(iVar4 + (uint)(iVar15 != 0));\n        expressionP->field_0x11 = bVar23 & 0xfe;\n        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;\n        if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar23 != 0x22) {\n        if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }\n        goto LAB_000212f6;\n      }\nLAB_00021aea:\n      *(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;\n      puVar1 = (uint *)((int)&expressionP->X_add_number + 4);\n      *puVar1 = ~*puVar1;\n      goto LAB_000212f6;\n    }\n    if (bVar7 == 6) {\n      uVar9 = (uint)expressionP->X_add_number;\n      bVar21 = bVar23 == 0x2d;\n      local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n      if ((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)) {\nLAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;\n        if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar16 = (ushort *)&generic_bignum;\n        do {\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));\n        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }\n        generic_bignum = generic_bignum + 1;\n        if (generic_bignum == 0) {\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar21 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\nLAB_000216f4:\n      if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }\nLAB_000216fc:\n      if (bVar23 == 0x2b) goto LAB_000212f6;\n    }\n    psVar10 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar10;\n    if (bVar23 == 0x2d) {\n      expressionP->field_0x10 = 7;\n    }\n    else if ((bVar23 == 0x7e) || (bVar23 == 0x22)) {\n      expressionP->field_0x10 = 8;\n    }\n    else {\n      expressionP->field_0x10 = 9;\n    }\n    break;\n  default:\n    if (((lex_type[uVar9] & 2) == 0) && (bVar23 != 0x22)) {\n      expressionP->field_0x10 = 1;\n      pcVar13 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar13);\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    input_line_pointer = (char *)(pbVar19 + 2);\n    expressionP->field_0x10 = 2;\n    bVar23 = pbVar19[1];\n    *(int *)&expressionP->X_add_number = (int)(char)bVar23;\n    *(int *)((int)&expressionP->X_add_number + 4) = (int)(char)bVar23 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    paVar11 = expr(0,expressionP,mode);\n    if (bVar23 == 0x28) {\n      cVar8 = *input_line_pointer;\n      if (cVar8 == ')') goto LAB_000216a2;\n      uVar20 = 0x29;\n    }\n    else {\n      if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }\n      uVar20 = 0x5d;\n    }\n    if (cVar8 == '\0') {\n      pcVar13 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar13,uVar20);\n    }\n    else {\n      pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar13,(int)cVar8,uVar20);\n    }\nLAB_000216a7:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar11;\n    }\n    return paVar11;\n  case 0xb:\n    goto _L369;\n  case 0xd:\n    if ((lex_type[pbVar19[1]] & 1) != 0) {\n      iVar15 = strncasecmp((char *)pbVar12,"startof.",8);\n      if (((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))) {\n        bVar23 = pbVar19[2];\n        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;\n        if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }\n        input_line_pointer = (char *)pbVar12;\n        expressionP->field_0x10 = 1;\n        if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }\n        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar13);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) {\n      expressionP->field_0x10 = 2;\n      uVar20 = (undefined4)abs_section_offset;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;\n      *(undefined4 *)&expressionP->X_add_number = uVar20;\n      goto LAB_000212f6;\n    }\n    expressionP->field_0x10 = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;\n  case 0xf:\n    bVar23 = pbVar19[1];\n    switch((int)(char)bVar23 - 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 (bVar23 != 0) goto LAB_00021973;\n      goto LAB_00021916;\n    case 0x12:\n      if ((byte)(pbVar19[2] - 0x30) < 2) {\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00021973:\n      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);\n      if (pcVar13 != (char *)0x0) {\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }\nLAB_00021916:\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 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      pbVar12 = pbVar12 + 1;\nLAB_00021994:\n      input_line_pointer = (char *)pbVar12;\n      floating_constant(expressionP);\n      bVar23 = PTR__sch_tolower_00067fbc[bVar23];\n      *(uint *)&expressionP->X_add_number = -(uint)bVar23;\n      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar19 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;\n      goto _L391;\n    case 0x36:\n      if ((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }\n_L391:\n      input_line_pointer = (char *)pbVar19;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_000212f6;\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 _L391;\n  case 0x5d:\n    if ((lex_type[uVar9] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar7 = expressionP->field_0x10;\n      if (bVar7 != 2) {\n        if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }\n        goto LAB_000216f4;\n      }\n      goto LAB_00021aea;\n    }\nLAB_000217d0:\n    input_line_pointer = (char *)pbVar19;\n    cVar8 = get_symbol_name(&name);\n    psVar10 = symbol_find_or_make(name);\n    paVar11 = S_GET_SEGMENT(psVar10);\n    if (mode == expr_defer) {\nLAB_00021828:\n      expressionP->field_0x10 = 3;\n      expressionP->X_add_symbol = psVar10;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n    }\n    else {\n      if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {\n        expressionP->field_0x10 = 2;\n      }\n      else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }\n      vVar22 = S_GET_VALUE(psVar10);\n      expressionP->X_add_number = vVar22;\n    }\n    *input_line_pointer = cVar8;\n    if (cVar8 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_000212f6;\n  }" switch (parenthesized_expression "(uVar9 - 0x21 & 0xff)" ( (binary_expression "uVar9 - 0x21 & 0xff" (binary_expression "uVar9 - 0x21" identifier - number_literal) & number_literal) )) (compound_statement "{\n  case 0:\n  case 10:\n  case 0xc:\n    operand(expressionP,mode);\n    bVar7 = expressionP->field_0x10;\n    if (bVar7 == 2) {\n      if (bVar23 == 0x2d) {\n        iVar15 = (int)expressionP->X_add_number;\n        bVar23 = expressionP->field_0x11;\n        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);\n        iVar14 = -iVar15;\n        *(int *)&expressionP->X_add_number = iVar14;\n        iVar15 = -(iVar4 + (uint)(iVar15 != 0));\n        expressionP->field_0x11 = bVar23 & 0xfe;\n        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;\n        if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar23 != 0x22) {\n        if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }\n        goto LAB_000212f6;\n      }\nLAB_00021aea:\n      *(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;\n      puVar1 = (uint *)((int)&expressionP->X_add_number + 4);\n      *puVar1 = ~*puVar1;\n      goto LAB_000212f6;\n    }\n    if (bVar7 == 6) {\n      uVar9 = (uint)expressionP->X_add_number;\n      bVar21 = bVar23 == 0x2d;\n      local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n      if ((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)) {\nLAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;\n        if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar16 = (ushort *)&generic_bignum;\n        do {\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));\n        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }\n        generic_bignum = generic_bignum + 1;\n        if (generic_bignum == 0) {\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar21 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\nLAB_000216f4:\n      if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }\nLAB_000216fc:\n      if (bVar23 == 0x2b) goto LAB_000212f6;\n    }\n    psVar10 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar10;\n    if (bVar23 == 0x2d) {\n      expressionP->field_0x10 = 7;\n    }\n    else if ((bVar23 == 0x7e) || (bVar23 == 0x22)) {\n      expressionP->field_0x10 = 8;\n    }\n    else {\n      expressionP->field_0x10 = 9;\n    }\n    break;\n  default:\n    if (((lex_type[uVar9] & 2) == 0) && (bVar23 != 0x22)) {\n      expressionP->field_0x10 = 1;\n      pcVar13 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar13);\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    input_line_pointer = (char *)(pbVar19 + 2);\n    expressionP->field_0x10 = 2;\n    bVar23 = pbVar19[1];\n    *(int *)&expressionP->X_add_number = (int)(char)bVar23;\n    *(int *)((int)&expressionP->X_add_number + 4) = (int)(char)bVar23 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    paVar11 = expr(0,expressionP,mode);\n    if (bVar23 == 0x28) {\n      cVar8 = *input_line_pointer;\n      if (cVar8 == ')') goto LAB_000216a2;\n      uVar20 = 0x29;\n    }\n    else {\n      if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }\n      uVar20 = 0x5d;\n    }\n    if (cVar8 == '\0') {\n      pcVar13 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar13,uVar20);\n    }\n    else {\n      pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar13,(int)cVar8,uVar20);\n    }\nLAB_000216a7:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar11;\n    }\n    return paVar11;\n  case 0xb:\n    goto _L369;\n  case 0xd:\n    if ((lex_type[pbVar19[1]] & 1) != 0) {\n      iVar15 = strncasecmp((char *)pbVar12,"startof.",8);\n      if (((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))) {\n        bVar23 = pbVar19[2];\n        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;\n        if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }\n        input_line_pointer = (char *)pbVar12;\n        expressionP->field_0x10 = 1;\n        if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }\n        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar13);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) {\n      expressionP->field_0x10 = 2;\n      uVar20 = (undefined4)abs_section_offset;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;\n      *(undefined4 *)&expressionP->X_add_number = uVar20;\n      goto LAB_000212f6;\n    }\n    expressionP->field_0x10 = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;\n  case 0xf:\n    bVar23 = pbVar19[1];\n    switch((int)(char)bVar23 - 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 (bVar23 != 0) goto LAB_00021973;\n      goto LAB_00021916;\n    case 0x12:\n      if ((byte)(pbVar19[2] - 0x30) < 2) {\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00021973:\n      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);\n      if (pcVar13 != (char *)0x0) {\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }\nLAB_00021916:\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 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      pbVar12 = pbVar12 + 1;\nLAB_00021994:\n      input_line_pointer = (char *)pbVar12;\n      floating_constant(expressionP);\n      bVar23 = PTR__sch_tolower_00067fbc[bVar23];\n      *(uint *)&expressionP->X_add_number = -(uint)bVar23;\n      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar19 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;\n      goto _L391;\n    case 0x36:\n      if ((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }\n_L391:\n      input_line_pointer = (char *)pbVar19;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_000212f6;\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 _L391;\n  case 0x5d:\n    if ((lex_type[uVar9] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar7 = expressionP->field_0x10;\n      if (bVar7 != 2) {\n        if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }\n        goto LAB_000216f4;\n      }\n      goto LAB_00021aea;\n    }\nLAB_000217d0:\n    input_line_pointer = (char *)pbVar19;\n    cVar8 = get_symbol_name(&name);\n    psVar10 = symbol_find_or_make(name);\n    paVar11 = S_GET_SEGMENT(psVar10);\n    if (mode == expr_defer) {\nLAB_00021828:\n      expressionP->field_0x10 = 3;\n      expressionP->X_add_symbol = psVar10;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n    }\n    else {\n      if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {\n        expressionP->field_0x10 = 2;\n      }\n      else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }\n      vVar22 = S_GET_VALUE(psVar10);\n      expressionP->X_add_number = vVar22;\n    }\n    *input_line_pointer = cVar8;\n    if (cVar8 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_000212f6;\n  }" { (case_statement "case 0:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xc:\n    operand(expressionP,mode);\n    bVar7 = expressionP->field_0x10;\n    if (bVar7 == 2) {\n      if (bVar23 == 0x2d) {\n        iVar15 = (int)expressionP->X_add_number;\n        bVar23 = expressionP->field_0x11;\n        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);\n        iVar14 = -iVar15;\n        *(int *)&expressionP->X_add_number = iVar14;\n        iVar15 = -(iVar4 + (uint)(iVar15 != 0));\n        expressionP->field_0x11 = bVar23 & 0xfe;\n        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;\n        if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar23 != 0x22) {\n        if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }\n        goto LAB_000212f6;\n      }\nLAB_00021aea:\n      *(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;\n      puVar1 = (uint *)((int)&expressionP->X_add_number + 4);\n      *puVar1 = ~*puVar1;\n      goto LAB_000212f6;\n    }\n    if (bVar7 == 6) {\n      uVar9 = (uint)expressionP->X_add_number;\n      bVar21 = bVar23 == 0x2d;\n      local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n      if ((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)) {\nLAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;\n        if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar16 = (ushort *)&generic_bignum;\n        do {\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));\n        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }\n        generic_bignum = generic_bignum + 1;\n        if (generic_bignum == 0) {\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar21 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\nLAB_000216f4:\n      if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }\nLAB_000216fc:\n      if (bVar23 == 0x2b) goto LAB_000212f6;\n    }\n    psVar10 = make_expr_symbol(expressionP);\n    expressionP->X_add_symbol = psVar10;\n    if (bVar23 == 0x2d) {\n      expressionP->field_0x10 = 7;\n    }\n    else if ((bVar23 == 0x7e) || (bVar23 == 0x22)) {\n      expressionP->field_0x10 = 8;\n    }\n    else {\n      expressionP->field_0x10 = 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 "bVar7 = expressionP->field_0x10;" (assignment_expression "bVar7 = expressionP->field_0x10" identifier = (field_expression "expressionP->field_0x10" identifier -> field_identifier)) ;) (if_statement "if (bVar7 == 2) {\n      if (bVar23 == 0x2d) {\n        iVar15 = (int)expressionP->X_add_number;\n        bVar23 = expressionP->field_0x11;\n        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);\n        iVar14 = -iVar15;\n        *(int *)&expressionP->X_add_number = iVar14;\n        iVar15 = -(iVar4 + (uint)(iVar15 != 0));\n        expressionP->field_0x11 = bVar23 & 0xfe;\n        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;\n        if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar23 != 0x22) {\n        if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }\n        goto LAB_000212f6;\n      }\nLAB_00021aea:\n      *(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;\n      puVar1 = (uint *)((int)&expressionP->X_add_number + 4);\n      *puVar1 = ~*puVar1;\n      goto LAB_000212f6;\n    }" if (parenthesized_expression "(bVar7 == 2)" ( (binary_expression "bVar7 == 2" identifier == number_literal) )) (compound_statement "{\n      if (bVar23 == 0x2d) {\n        iVar15 = (int)expressionP->X_add_number;\n        bVar23 = expressionP->field_0x11;\n        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);\n        iVar14 = -iVar15;\n        *(int *)&expressionP->X_add_number = iVar14;\n        iVar15 = -(iVar4 + (uint)(iVar15 != 0));\n        expressionP->field_0x11 = bVar23 & 0xfe;\n        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;\n        if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar23 != 0x22) {\n        if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }\n        goto LAB_000212f6;\n      }\nLAB_00021aea:\n      *(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;\n      puVar1 = (uint *)((int)&expressionP->X_add_number + 4);\n      *puVar1 = ~*puVar1;\n      goto LAB_000212f6;\n    }" { (if_statement "if (bVar23 == 0x2d) {\n        iVar15 = (int)expressionP->X_add_number;\n        bVar23 = expressionP->field_0x11;\n        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);\n        iVar14 = -iVar15;\n        *(int *)&expressionP->X_add_number = iVar14;\n        iVar15 = -(iVar4 + (uint)(iVar15 != 0));\n        expressionP->field_0x11 = bVar23 & 0xfe;\n        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;\n        if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(bVar23 == 0x2d)" ( (binary_expression "bVar23 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        iVar15 = (int)expressionP->X_add_number;\n        bVar23 = expressionP->field_0x11;\n        iVar4 = *(int *)((int)&expressionP->X_add_number + 4);\n        iVar14 = -iVar15;\n        *(int *)&expressionP->X_add_number = iVar14;\n        iVar15 = -(iVar4 + (uint)(iVar15 != 0));\n        expressionP->field_0x11 = bVar23 & 0xfe;\n        *(int *)((int)&expressionP->X_add_number + 4) = iVar15;\n        if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }" { (expression_statement "iVar15 = (int)expressionP->X_add_number;" (assignment_expression "iVar15 = (int)expressionP->X_add_number" identifier = (cast_expression "(int)expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "expressionP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "bVar23 = expressionP->field_0x11;" (assignment_expression "bVar23 = expressionP->field_0x11" identifier = (field_expression "expressionP->field_0x11" identifier -> field_identifier)) ;) (expression_statement "iVar4 = *(int *)((int)&expressionP->X_add_number + 4);" (assignment_expression "iVar4 = *(int *)((int)&expressionP->X_add_number + 4)" identifier = (pointer_expression "*(int *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(int *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "iVar14 = -iVar15;" (assignment_expression "iVar14 = -iVar15" identifier = (unary_expression "-iVar15" - identifier)) ;) (expression_statement "*(int *)&expressionP->X_add_number = iVar14;" (assignment_expression "*(int *)&expressionP->X_add_number = iVar14" (pointer_expression "*(int *)&expressionP->X_add_number" * (cast_expression "(int *)&expressionP->X_add_number" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = identifier) ;) (expression_statement "iVar15 = -(iVar4 + (uint)(iVar15 != 0));" (assignment_expression "iVar15 = -(iVar4 + (uint)(iVar15 != 0))" identifier = (unary_expression "-(iVar4 + (uint)(iVar15 != 0))" - (parenthesized_expression "(iVar4 + (uint)(iVar15 != 0))" ( (binary_expression "iVar4 + (uint)(iVar15 != 0)" identifier + (call_expression "(uint)(iVar15 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )))) )))) ;) (expression_statement "expressionP->field_0x11 = bVar23 & 0xfe;" (assignment_expression "expressionP->field_0x11 = bVar23 & 0xfe" (field_expression "expressionP->field_0x11" identifier -> field_identifier) = (binary_expression "bVar23 & 0xfe" identifier & number_literal)) ;) (expression_statement "*(int *)((int)&expressionP->X_add_number + 4) = iVar15;" (assignment_expression "*(int *)((int)&expressionP->X_add_number + 4) = iVar15" (pointer_expression "*(int *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(int *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (if_statement "if (iVar15 != 0 || iVar14 != 0) {\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }" if (parenthesized_expression "(iVar15 != 0 || iVar14 != 0)" ( (binary_expression "iVar15 != 0 || iVar14 != 0" (binary_expression "iVar15 != 0" identifier != number_literal) || (binary_expression "iVar14 != 0" identifier != number_literal)) )) (compound_statement "{\n          expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;\n        }" { (expression_statement "expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc;" (assignment_expression "expressionP->field_0x11 = (bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc" (field_expression "expressionP->field_0x11" identifier -> field_identifier) = (binary_expression "(bVar23 >> 1 & 1 ^ 1) * '\x02' | bVar23 & 0xfc" (binary_expression "(bVar23 >> 1 & 1 ^ 1) * '\x02'" (parenthesized_expression "(bVar23 >> 1 & 1 ^ 1)" ( (binary_expression "bVar23 >> 1 & 1 ^ 1" (binary_expression "bVar23 >> 1 & 1" (binary_expression "bVar23 >> 1" identifier >> number_literal) & number_literal) ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar23 & 0xfc" identifier & number_literal))) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (if_statement "if (bVar23 != 0x22) {\n        if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(bVar23 != 0x22)" ( (binary_expression "bVar23 != 0x22" identifier != number_literal) )) (compound_statement "{\n        if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }\n        goto LAB_000212f6;\n      }" { (if_statement "if (bVar23 == 0x21) {\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }" if (parenthesized_expression "(bVar23 == 0x21)" ( (binary_expression "bVar23 == 0x21" identifier == number_literal) )) (compound_statement "{\n          oVar5 = expressionP->X_add_number;\n          iVar15 = *(int *)((int)&expressionP->X_add_number + 4);\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);\n        }" { (expression_statement "oVar5 = expressionP->X_add_number;" (assignment_expression "oVar5 = expressionP->X_add_number" identifier = (field_expression "expressionP->X_add_number" identifier -> field_identifier)) ;) (expression_statement "iVar15 = *(int *)((int)&expressionP->X_add_number + 4);" (assignment_expression "iVar15 = *(int *)((int)&expressionP->X_add_number + 4)" identifier = (pointer_expression "*(int *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(int *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0);" (assignment_expression "*(uint *)&expressionP->X_add_number = (uint)((int)oVar5 == 0 && iVar15 == 0)" (pointer_expression "*(uint *)&expressionP->X_add_number" * (cast_expression "(uint *)&expressionP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = (call_expression "(uint)((int)oVar5 == 0 && iVar15 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)oVar5 == 0 && iVar15 == 0)" ( (binary_expression "(int)oVar5 == 0 && iVar15 == 0" (binary_expression "(int)oVar5 == 0" (cast_expression "(int)oVar5" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) && (binary_expression "iVar15 == 0" identifier == number_literal)) )))) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (labeled_statement "LAB_00021aea:\n      *(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;" statement_identifier : (expression_statement "*(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number;" (assignment_expression "*(uint *)&expressionP->X_add_number = ~(uint)expressionP->X_add_number" (pointer_expression "*(uint *)&expressionP->X_add_number" * (cast_expression "(uint *)&expressionP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = (unary_expression "~(uint)expressionP->X_add_number" ~ (cast_expression "(uint)expressionP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) ;)) (expression_statement "puVar1 = (uint *)((int)&expressionP->X_add_number + 4);" (assignment_expression "puVar1 = (uint *)((int)&expressionP->X_add_number + 4)" identifier = (cast_expression "(uint *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*puVar1 = ~*puVar1;" (assignment_expression "*puVar1 = ~*puVar1" (pointer_expression "*puVar1" * identifier) = (unary_expression "~*puVar1" ~ (pointer_expression "*puVar1" * identifier))) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (if_statement "if (bVar7 == 6) {\n      uVar9 = (uint)expressionP->X_add_number;\n      bVar21 = bVar23 == 0x2d;\n      local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n      if ((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)) {\nLAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;\n        if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar16 = (ushort *)&generic_bignum;\n        do {\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));\n        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }\n        generic_bignum = generic_bignum + 1;\n        if (generic_bignum == 0) {\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar21 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\nLAB_000216f4:\n      if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }\nLAB_000216fc:\n      if (bVar23 == 0x2b) goto LAB_000212f6;\n    }" if (parenthesized_expression "(bVar7 == 6)" ( (binary_expression "bVar7 == 6" identifier == number_literal) )) (compound_statement "{\n      uVar9 = (uint)expressionP->X_add_number;\n      bVar21 = bVar23 == 0x2d;\n      local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n      if ((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)) {\nLAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;\n        if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar16 = (ushort *)&generic_bignum;\n        do {\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));\n        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }\n        generic_bignum = generic_bignum + 1;\n        if (generic_bignum == 0) {\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar21 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }" { (expression_statement "uVar9 = (uint)expressionP->X_add_number;" (assignment_expression "uVar9 = (uint)expressionP->X_add_number" identifier = (cast_expression "(uint)expressionP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "expressionP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "bVar21 = bVar23 == 0x2d;" (assignment_expression "bVar21 = bVar23 == 0x2d" identifier = (binary_expression "bVar23 == 0x2d" identifier == number_literal)) ;) (expression_statement "local_48 = *(uint *)((int)&expressionP->X_add_number + 4);" (assignment_expression "local_48 = *(uint *)((int)&expressionP->X_add_number + 4)" identifier = (pointer_expression "*(uint *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(uint *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if ((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)) {\nLAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;\n        if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar16 = (ushort *)&generic_bignum;\n        do {\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));\n        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }\n        generic_bignum = generic_bignum + 1;\n        if (generic_bignum == 0) {\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "((-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21))" ( (binary_expression "(-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)) || (!bVar21)" (parenthesized_expression "(-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48))" ( (binary_expression "-1 < (int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)" number_literal < (cast_expression "(int)((local_48 - 1) + (uint)(uVar9 != 0) | local_48)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_48 - 1) + (uint)(uVar9 != 0) | local_48)" ( (binary_expression "(local_48 - 1) + (uint)(uVar9 != 0) | local_48" (binary_expression "(local_48 - 1) + (uint)(uVar9 != 0)" (parenthesized_expression "(local_48 - 1)" ( (binary_expression "local_48 - 1" identifier - number_literal) )) + (call_expression "(uint)(uVar9 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )))) | identifier) )))) )) || (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) ))) )) (compound_statement "{\nLAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;\n        if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar16 = (ushort *)&generic_bignum;\n        do {\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));\n        if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }\n        generic_bignum = generic_bignum + 1;\n        if (generic_bignum == 0) {\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }" { (labeled_statement "LAB_00021597:\n        if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;" statement_identifier : (if_statement "if ((int)(uint)(uVar9 != 0) <= (int)-local_48) goto LAB_000216fc;" if (parenthesized_expression "((int)(uint)(uVar9 != 0) <= (int)-local_48)" ( (binary_expression "(int)(uint)(uVar9 != 0) <= (int)-local_48" (cast_expression "(int)(uint)(uVar9 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar9 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )))) <= (cast_expression "(int)-local_48" ( (type_descriptor "int" primitive_type) ) (unary_expression "-local_48" - identifier))) )) (goto_statement "goto LAB_000216fc;" goto statement_identifier ;))) (if_statement "if ((bVar23 != 0x7e) && (!bVar21)) {\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }" if (parenthesized_expression "((bVar23 != 0x7e) && (!bVar21))" ( (binary_expression "(bVar23 != 0x7e) && (!bVar21)" (parenthesized_expression "(bVar23 != 0x7e)" ( (binary_expression "bVar23 != 0x7e" identifier != number_literal) )) && (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) ))) )) (compound_statement "{\n          if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }" { (if_statement "if (bVar23 == 0x21) {\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }" if (parenthesized_expression "(bVar23 == 0x21)" ( (binary_expression "bVar23 == 0x21" identifier == number_literal) )) (compound_statement "{\n            if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }\n            *(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);\n            uVar2 = *(ushort *)&expressionP->field_0x10;\n            *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n            *(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;\n          }" { (if_statement "if (generic_bignum == 0) {\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = 0;\n              local_3c = 0;\n            }" if (parenthesized_expression "(generic_bignum == 0)" ( (binary_expression "generic_bignum == 0" identifier == number_literal) )) (compound_statement "{\n              uVar18 = 0;\n              uVar6 = 1;\n              do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);\n            }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (do_statement "do {\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0);" do (compound_statement "{\n                local_40 = uVar6;\n                local_3c = uVar18;\n                if (local_48 == local_3c && uVar9 == local_40) break;\n                uVar18 = local_3c + (0xfffffffe < local_40);\n                uVar6 = local_40 + 1;\n              }" { (expression_statement "local_40 = uVar6;" (assignment_expression "local_40 = uVar6" identifier = identifier) ;) (expression_statement "local_3c = uVar18;" (assignment_expression "local_3c = uVar18" identifier = identifier) ;) (if_statement "if (local_48 == local_3c && uVar9 == local_40) break;" if (parenthesized_expression "(local_48 == local_3c && uVar9 == local_40)" ( (binary_expression "local_48 == local_3c && uVar9 == local_40" (binary_expression "local_48 == local_3c" identifier == identifier) && (binary_expression "uVar9 == local_40" identifier == identifier)) )) (break_statement "break;" break ;)) (expression_statement "uVar18 = local_3c + (0xfffffffe < local_40);" (assignment_expression "uVar18 = local_3c + (0xfffffffe < local_40)" identifier = (binary_expression "local_3c + (0xfffffffe < local_40)" identifier + (parenthesized_expression "(0xfffffffe < local_40)" ( (binary_expression "0xfffffffe < local_40" number_literal < identifier) )))) ;) (expression_statement "uVar6 = local_40 + 1;" (assignment_expression "uVar6 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0)" ( (binary_expression "*(short *)(&DAT_00070f7e + (local_40 + 1) * 2) == 0" (pointer_expression "*(short *)(&DAT_00070f7e + (local_40 + 1) * 2)" * (cast_expression "(short *)(&DAT_00070f7e + (local_40 + 1) * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00070f7e + (local_40 + 1) * 2)" ( (binary_expression "&DAT_00070f7e + (local_40 + 1) * 2" (pointer_expression "&DAT_00070f7e" & identifier) + (binary_expression "(local_40 + 1) * 2" (parenthesized_expression "(local_40 + 1)" ( (binary_expression "local_40 + 1" identifier + number_literal) )) * number_literal)) )))) == number_literal) )) ;) }) (else_clause "else {\n              local_40 = 0;\n              local_3c = 0;\n            }" else (compound_statement "{\n              local_40 = 0;\n              local_3c = 0;\n            }" { (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) }))) (expression_statement "*(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0);" (assignment_expression "*(uint *)&expressionP->X_add_number =\n                 (uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0)" (pointer_expression "*(uint *)&expressionP->X_add_number" * (cast_expression "(uint *)&expressionP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = (call_expression "(uint)((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0)" ( (binary_expression "(SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))) ==\n                       (int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0" (parenthesized_expression "(SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9)))" ( (binary_expression "SBORROW4(local_3c,local_48) !=\n                        SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))" (call_expression "SBORROW4(local_3c,local_48)" identifier (argument_list "(local_3c,local_48)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_3c - local_48,(uint)(local_40 < uVar9))" identifier (argument_list "(local_3c - local_48,(uint)(local_40 < uVar9))" ( (binary_expression "local_3c - local_48" identifier - identifier) , (call_expression "(uint)(local_40 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_40 < uVar9)" ( (binary_expression "local_40 < uVar9" identifier < identifier) ))) )))) )) == (binary_expression "(int)((local_3c - local_48) - (uint)(local_40 < uVar9)) < 0" (cast_expression "(int)((local_3c - local_48) - (uint)(local_40 < uVar9))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_3c - local_48) - (uint)(local_40 < uVar9))" ( (binary_expression "(local_3c - local_48) - (uint)(local_40 < uVar9)" (parenthesized_expression "(local_3c - local_48)" ( (binary_expression "local_3c - local_48" identifier - identifier) )) - (call_expression "(uint)(local_40 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_40 < uVar9)" ( (binary_expression "local_40 < uVar9" identifier < identifier) )))) ))) < number_literal)) )))) ;) (expression_statement "uVar2 = *(ushort *)&expressionP->field_0x10;" (assignment_expression "uVar2 = *(ushort *)&expressionP->field_0x10" identifier = (pointer_expression "*(ushort *)&expressionP->field_0x10" * (cast_expression "(ushort *)&expressionP->field_0x10" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->field_0x10" & (field_expression "expressionP->field_0x10" identifier -> field_identifier))))) ;) (expression_statement "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102;" (assignment_expression "*(ushort *)&expressionP->field_0x10 = uVar2 & 0xfc00 | 0x102" (pointer_expression "*(ushort *)&expressionP->field_0x10" * (cast_expression "(ushort *)&expressionP->field_0x10" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->field_0x10" & (field_expression "expressionP->field_0x10" identifier -> field_identifier)))) = (binary_expression "uVar2 & 0xfc00 | 0x102" (binary_expression "uVar2 & 0xfc00" identifier & number_literal) | number_literal)) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (expression_statement "puVar16 = (ushort *)&generic_bignum;" (assignment_expression "puVar16 = (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          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        } while (puVar16 != (ushort *)(&generic_bignum + uVar9));" do (compound_statement "{\n          *puVar16 = ~*puVar16;\n          puVar16 = puVar16 + 1;\n        }" { (expression_statement "*puVar16 = ~*puVar16;" (assignment_expression "*puVar16 = ~*puVar16" (pointer_expression "*puVar16" * identifier) = (unary_expression "~*puVar16" ~ (pointer_expression "*puVar16" * identifier))) ;) (expression_statement "puVar16 = puVar16 + 1;" (assignment_expression "puVar16 = puVar16 + 1" identifier = (binary_expression "puVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar16 != (ushort *)(&generic_bignum + uVar9))" ( (binary_expression "puVar16 != (ushort *)(&generic_bignum + uVar9)" identifier != (cast_expression "(ushort *)(&generic_bignum + uVar9)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&generic_bignum + uVar9)" ( (binary_expression "&generic_bignum + uVar9" (pointer_expression "&generic_bignum" & identifier) + identifier) )))) )) ;) (if_statement "if ((int)-local_48 < (int)(uint)(0x13 < uVar9)) {\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }\n        else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }" if (parenthesized_expression "((int)-local_48 < (int)(uint)(0x13 < uVar9))" ( (binary_expression "(int)-local_48 < (int)(uint)(0x13 < uVar9)" (cast_expression "(int)-local_48" ( (type_descriptor "int" primitive_type) ) (unary_expression "-local_48" - identifier)) < (cast_expression "(int)(uint)(0x13 < uVar9)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(0x13 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x13 < uVar9)" ( (binary_expression "0x13 < uVar9" number_literal < identifier) ))))) )) (compound_statement "{\nLAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = (uint)expressionP->X_add_number;\n          local_40 = *(int *)((int)&expressionP->X_add_number + 4);\n        }" { (labeled_statement "LAB_00021c92:\n          if (!bVar21) goto LAB_000212f6;" statement_identifier : (if_statement "if (!bVar21) goto LAB_000212f6;" if (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) )) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;))) (expression_statement "uVar9 = (uint)expressionP->X_add_number;" (assignment_expression "uVar9 = (uint)expressionP->X_add_number" identifier = (cast_expression "(uint)expressionP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "expressionP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "local_40 = *(int *)((int)&expressionP->X_add_number + 4);" (assignment_expression "local_40 = *(int *)((int)&expressionP->X_add_number + 4)" identifier = (pointer_expression "*(int *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(int *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) }) (else_clause "else {\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }" else (compound_statement "{\n          *(undefined4 *)&expressionP->X_add_number = 0x14;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;\n          puVar17 = &generic_bignum + (uVar9 - 1);\n          do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar21) goto LAB_000212f6;\n          uVar9 = 0x14;\n          local_40 = 0;\n        }" { (expression_statement "*(undefined4 *)&expressionP->X_add_number = 0x14;" (assignment_expression "*(undefined4 *)&expressionP->X_add_number = 0x14" (pointer_expression "*(undefined4 *)&expressionP->X_add_number" * (cast_expression "(undefined4 *)&expressionP->X_add_number" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (if_statement "if (0x12 < (int)(uVar9 - 1)) goto LAB_00021c92;" if (parenthesized_expression "(0x12 < (int)(uVar9 - 1))" ( (binary_expression "0x12 < (int)(uVar9 - 1)" number_literal < (cast_expression "(int)(uVar9 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar9 - 1)" ( (binary_expression "uVar9 - 1" identifier - number_literal) )))) )) (goto_statement "goto LAB_00021c92;" goto statement_identifier ;)) (expression_statement "puVar17 = &generic_bignum + (uVar9 - 1);" (assignment_expression "puVar17 = &generic_bignum + (uVar9 - 1)" identifier = (binary_expression "&generic_bignum + (uVar9 - 1)" (pointer_expression "&generic_bignum" & identifier) + (parenthesized_expression "(uVar9 - 1)" ( (binary_expression "uVar9 - 1" identifier - number_literal) )))) ;) (do_statement "do {\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          } while (puVar17 != (undefined2 *)&DAT_00070fa6);" do (compound_statement "{\n            puVar17 = puVar17 + 1;\n            *puVar17 = 0xffff;\n          }" { (expression_statement "puVar17 = puVar17 + 1;" (assignment_expression "puVar17 = puVar17 + 1" identifier = (binary_expression "puVar17 + 1" identifier + number_literal)) ;) (expression_statement "*puVar17 = 0xffff;" (assignment_expression "*puVar17 = 0xffff" (pointer_expression "*puVar17" * identifier) = number_literal) ;) }) while (parenthesized_expression "(puVar17 != (undefined2 *)&DAT_00070fa6)" ( (binary_expression "puVar17 != (undefined2 *)&DAT_00070fa6" identifier != (cast_expression "(undefined2 *)&DAT_00070fa6" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00070fa6" & identifier))) )) ;) (if_statement "if (!bVar21) goto LAB_000212f6;" if (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) )) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;)) (expression_statement "uVar9 = 0x14;" (assignment_expression "uVar9 = 0x14" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) }))) (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          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }" if (parenthesized_expression "(generic_bignum == 0)" ( (binary_expression "generic_bignum == 0" identifier == number_literal) )) (compound_statement "{\n          uVar18 = 1;\n          iVar15 = 0;\n          do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);\n        }" { (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (do_statement "do {\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          } while ((short)(sVar3 + 1) == 0);" do (compound_statement "{\n            if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;\n            sVar3 = (&generic_bignum)[uVar18];\n            (&generic_bignum)[uVar18] = sVar3 + 1;\n            bVar21 = 0xfffffffe < uVar18;\n            uVar18 = uVar18 + 1;\n            iVar15 = iVar15 + (uint)bVar21;\n          }" { (if_statement "if ((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0) break;" if (parenthesized_expression "((SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0)" ( (binary_expression "(SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))) ==\n                (int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0" (parenthesized_expression "(SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9)))" ( (binary_expression "SBORROW4(iVar15,local_40) != SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))" (call_expression "SBORROW4(iVar15,local_40)" identifier (argument_list "(iVar15,local_40)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar15 - local_40,(uint)(uVar18 < uVar9))" identifier (argument_list "(iVar15 - local_40,(uint)(uVar18 < uVar9))" ( (binary_expression "iVar15 - local_40" identifier - identifier) , (call_expression "(uint)(uVar18 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar18 < uVar9)" ( (binary_expression "uVar18 < uVar9" identifier < identifier) ))) )))) )) == (binary_expression "(int)((iVar15 - local_40) - (uint)(uVar18 < uVar9)) < 0" (cast_expression "(int)((iVar15 - local_40) - (uint)(uVar18 < uVar9))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((iVar15 - local_40) - (uint)(uVar18 < uVar9))" ( (binary_expression "(iVar15 - local_40) - (uint)(uVar18 < uVar9)" (parenthesized_expression "(iVar15 - local_40)" ( (binary_expression "iVar15 - local_40" identifier - identifier) )) - (call_expression "(uint)(uVar18 < uVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar18 < uVar9)" ( (binary_expression "uVar18 < uVar9" identifier < identifier) )))) ))) < number_literal)) )) (break_statement "break;" break ;)) (expression_statement "sVar3 = (&generic_bignum)[uVar18];" (assignment_expression "sVar3 = (&generic_bignum)[uVar18]" identifier = (subscript_expression "(&generic_bignum)[uVar18]" (parenthesized_expression "(&generic_bignum)" ( (pointer_expression "&generic_bignum" & identifier) )) [ identifier ])) ;) (expression_statement "(&generic_bignum)[uVar18] = sVar3 + 1;" (assignment_expression "(&generic_bignum)[uVar18] = sVar3 + 1" (subscript_expression "(&generic_bignum)[uVar18]" (parenthesized_expression "(&generic_bignum)" ( (pointer_expression "&generic_bignum" & identifier) )) [ identifier ]) = (binary_expression "sVar3 + 1" identifier + number_literal)) ;) (expression_statement "bVar21 = 0xfffffffe < uVar18;" (assignment_expression "bVar21 = 0xfffffffe < uVar18" identifier = (binary_expression "0xfffffffe < uVar18" number_literal < identifier)) ;) (expression_statement "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar15 + (uint)bVar21;" (assignment_expression "iVar15 = iVar15 + (uint)bVar21" identifier = (binary_expression "iVar15 + (uint)bVar21" identifier + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "((short)(sVar3 + 1) == 0)" ( (binary_expression "(short)(sVar3 + 1) == 0" (cast_expression "(short)(sVar3 + 1)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(sVar3 + 1)" ( (binary_expression "sVar3 + 1" identifier + number_literal) ))) == number_literal) )) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (if_statement "if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')\n         ) {\n        bVar21 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_000212f6;\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        bVar21 = generic_floating_point_number.sign == '+';\n        generic_floating_point_number.sign = 'N';\n        if (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }\n        goto LAB_000212f6;\n      }" { (expression_statement "bVar21 = generic_floating_point_number.sign == '+';" (assignment_expression "bVar21 = 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 (bVar21) {\n          generic_floating_point_number.sign = '-';\n        }" if (parenthesized_expression "(bVar21)" ( 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_000212f6;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_000216f4:\n      if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }\nLAB_000216fc:\n      if (bVar23 == 0x2b) goto LAB_000212f6;\n    }" else (compound_statement "{\nLAB_000216f4:\n      if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }\nLAB_000216fc:\n      if (bVar23 == 0x2b) goto LAB_000212f6;\n    }" { (labeled_statement "LAB_000216f4:\n      if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }" statement_identifier : (if_statement "if (bVar7 < 2) {\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(bVar7 < 2)" ( (binary_expression "bVar7 < 2" identifier < number_literal) )) (compound_statement "{\n        pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        as_warn(pcVar13,(int)(char)bVar23);\n        goto LAB_000212f6;\n      }" { (expression_statement "pcVar13 = (char *)dcgettext(0,"Unary operator %c ignored because bad operand follows",5);" (assignment_expression "pcVar13 = (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(pcVar13,(int)(char)bVar23);" (call_expression "as_warn(pcVar13,(int)(char)bVar23)" identifier (argument_list "(pcVar13,(int)(char)bVar23)" ( identifier , (cast_expression "(int)(char)bVar23" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar23" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) }))) (labeled_statement "LAB_000216fc:\n      if (bVar23 == 0x2b) goto LAB_000212f6;" statement_identifier : (if_statement "if (bVar23 == 0x2b) goto LAB_000212f6;" if (parenthesized_expression "(bVar23 == 0x2b)" ( (binary_expression "bVar23 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;))) }))) (expression_statement "psVar10 = make_expr_symbol(expressionP);" (assignment_expression "psVar10 = make_expr_symbol(expressionP)" identifier = (call_expression "make_expr_symbol(expressionP)" identifier (argument_list "(expressionP)" ( identifier )))) ;) (expression_statement "expressionP->X_add_symbol = psVar10;" (assignment_expression "expressionP->X_add_symbol = psVar10" (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) = identifier) ;) (if_statement "if (bVar23 == 0x2d) {\n      expressionP->field_0x10 = 7;\n    }\n    else if ((bVar23 == 0x7e) || (bVar23 == 0x22)) {\n      expressionP->field_0x10 = 8;\n    }\n    else {\n      expressionP->field_0x10 = 9;\n    }" if (parenthesized_expression "(bVar23 == 0x2d)" ( (binary_expression "bVar23 == 0x2d" identifier == number_literal) )) (compound_statement "{\n      expressionP->field_0x10 = 7;\n    }" { (expression_statement "expressionP->field_0x10 = 7;" (assignment_expression "expressionP->field_0x10 = 7" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else if ((bVar23 == 0x7e) || (bVar23 == 0x22)) {\n      expressionP->field_0x10 = 8;\n    }\n    else {\n      expressionP->field_0x10 = 9;\n    }" else (if_statement "if ((bVar23 == 0x7e) || (bVar23 == 0x22)) {\n      expressionP->field_0x10 = 8;\n    }\n    else {\n      expressionP->field_0x10 = 9;\n    }" if (parenthesized_expression "((bVar23 == 0x7e) || (bVar23 == 0x22))" ( (binary_expression "(bVar23 == 0x7e) || (bVar23 == 0x22)" (parenthesized_expression "(bVar23 == 0x7e)" ( (binary_expression "bVar23 == 0x7e" identifier == number_literal) )) || (parenthesized_expression "(bVar23 == 0x22)" ( (binary_expression "bVar23 == 0x22" identifier == number_literal) ))) )) (compound_statement "{\n      expressionP->field_0x10 = 8;\n    }" { (expression_statement "expressionP->field_0x10 = 8;" (assignment_expression "expressionP->field_0x10 = 8" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n      expressionP->field_0x10 = 9;\n    }" else (compound_statement "{\n      expressionP->field_0x10 = 9;\n    }" { (expression_statement "expressionP->field_0x10 = 9;" (assignment_expression "expressionP->field_0x10 = 9" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) }))))) (break_statement "break;" break ;)) (case_statement "default:\n    if (((lex_type[uVar9] & 2) == 0) && (bVar23 != 0x22)) {\n      expressionP->field_0x10 = 1;\n      pcVar13 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar13);\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;" default : (if_statement "if (((lex_type[uVar9] & 2) == 0) && (bVar23 != 0x22)) {\n      expressionP->field_0x10 = 1;\n      pcVar13 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar13);\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n      goto LAB_000212f6;\n    }" if (parenthesized_expression "(((lex_type[uVar9] & 2) == 0) && (bVar23 != 0x22))" ( (binary_expression "((lex_type[uVar9] & 2) == 0) && (bVar23 != 0x22)" (parenthesized_expression "((lex_type[uVar9] & 2) == 0)" ( (binary_expression "(lex_type[uVar9] & 2) == 0" (parenthesized_expression "(lex_type[uVar9] & 2)" ( (binary_expression "lex_type[uVar9] & 2" (subscript_expression "lex_type[uVar9]" identifier [ identifier ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(bVar23 != 0x22)" ( (binary_expression "bVar23 != 0x22" identifier != number_literal) ))) )) (compound_statement "{\n      expressionP->field_0x10 = 1;\n      pcVar13 = (char *)dcgettext(0,"bad expression",5);\n      as_bad(pcVar13);\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n      goto LAB_000212f6;\n    }" { (expression_statement "expressionP->field_0x10 = 1;" (assignment_expression "expressionP->field_0x10 = 1" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"bad expression",5);" (assignment_expression "pcVar13 = (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(pcVar13);" (call_expression "as_bad(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "expressionP->field_0x10 = 2;" (assignment_expression "expressionP->field_0x10 = 2" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)&expressionP->X_add_number = 0;" (assignment_expression "*(undefined4 *)&expressionP->X_add_number = 0" (pointer_expression "*(undefined4 *)&expressionP->X_add_number" * (cast_expression "(undefined4 *)&expressionP->X_add_number" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (goto_statement "goto LAB_000217d0;" goto statement_identifier ;)) (case_statement "case 6:\n    input_line_pointer = (char *)(pbVar19 + 2);\n    expressionP->field_0x10 = 2;\n    bVar23 = pbVar19[1];\n    *(int *)&expressionP->X_add_number = (int)(char)bVar23;\n    *(int *)((int)&expressionP->X_add_number + 4) = (int)(char)bVar23 >> 0x1f;\n    goto LAB_000212f6;" case number_literal : (expression_statement "input_line_pointer = (char *)(pbVar19 + 2);" (assignment_expression "input_line_pointer = (char *)(pbVar19 + 2)" identifier = (cast_expression "(char *)(pbVar19 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar19 + 2)" ( (binary_expression "pbVar19 + 2" identifier + number_literal) )))) ;) (expression_statement "expressionP->field_0x10 = 2;" (assignment_expression "expressionP->field_0x10 = 2" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) (expression_statement "bVar23 = pbVar19[1];" (assignment_expression "bVar23 = pbVar19[1]" identifier = (subscript_expression "pbVar19[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)&expressionP->X_add_number = (int)(char)bVar23;" (assignment_expression "*(int *)&expressionP->X_add_number = (int)(char)bVar23" (pointer_expression "*(int *)&expressionP->X_add_number" * (cast_expression "(int *)&expressionP->X_add_number" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = (cast_expression "(int)(char)bVar23" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar23" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "*(int *)((int)&expressionP->X_add_number + 4) = (int)(char)bVar23 >> 0x1f;" (assignment_expression "*(int *)((int)&expressionP->X_add_number + 4) = (int)(char)bVar23 >> 0x1f" (pointer_expression "*(int *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(int *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(int)(char)bVar23 >> 0x1f" (cast_expression "(int)(char)bVar23" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar23" ( (type_descriptor "char" primitive_type) ) identifier)) >> number_literal)) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;)) (case_statement "case 7:" case number_literal :) (case_statement "case 0x3a:\n    paVar11 = expr(0,expressionP,mode);\n    if (bVar23 == 0x28) {\n      cVar8 = *input_line_pointer;\n      if (cVar8 == ')') goto LAB_000216a2;\n      uVar20 = 0x29;\n    }\n    else {\n      if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }\n      uVar20 = 0x5d;\n    }\n    if (cVar8 == '\0') {\n      pcVar13 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar13,uVar20);\n    }\n    else {\n      pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar13,(int)cVar8,uVar20);\n    }\nLAB_000216a7:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar11;\n    }\n    return paVar11;" case number_literal : (expression_statement "paVar11 = expr(0,expressionP,mode);" (assignment_expression "paVar11 = expr(0,expressionP,mode)" identifier = (call_expression "expr(0,expressionP,mode)" identifier (argument_list "(0,expressionP,mode)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (bVar23 == 0x28) {\n      cVar8 = *input_line_pointer;\n      if (cVar8 == ')') goto LAB_000216a2;\n      uVar20 = 0x29;\n    }\n    else {\n      if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }\n      uVar20 = 0x5d;\n    }" if (parenthesized_expression "(bVar23 == 0x28)" ( (binary_expression "bVar23 == 0x28" identifier == number_literal) )) (compound_statement "{\n      cVar8 = *input_line_pointer;\n      if (cVar8 == ')') goto LAB_000216a2;\n      uVar20 = 0x29;\n    }" { (expression_statement "cVar8 = *input_line_pointer;" (assignment_expression "cVar8 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (if_statement "if (cVar8 == ')') goto LAB_000216a2;" if (parenthesized_expression "(cVar8 == ')')" ( (binary_expression "cVar8 == ')'" identifier == (char_literal "')'" ' character ')) )) (goto_statement "goto LAB_000216a2;" goto statement_identifier ;)) (expression_statement "uVar20 = 0x29;" (assignment_expression "uVar20 = 0x29" identifier = number_literal) ;) }) (else_clause "else {\n      if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }\n      uVar20 = 0x5d;\n    }" else (compound_statement "{\n      if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }\n      uVar20 = 0x5d;\n    }" { (if_statement "if ((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')) {\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }" if (parenthesized_expression "((bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']'))" ( (binary_expression "(bVar23 != 0x5b) || (cVar8 = *input_line_pointer, cVar8 == ']')" (parenthesized_expression "(bVar23 != 0x5b)" ( (binary_expression "bVar23 != 0x5b" identifier != number_literal) )) || (parenthesized_expression "(cVar8 = *input_line_pointer, cVar8 == ']')" ( (comma_expression "cVar8 = *input_line_pointer, cVar8 == ']'" (assignment_expression "cVar8 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) , (binary_expression "cVar8 == ']'" identifier == (char_literal "']'" ' character '))) ))) )) (compound_statement "{\nLAB_000216a2:\n        input_line_pointer = input_line_pointer + 1;\n        goto LAB_000216a7;\n      }" { (labeled_statement "LAB_000216a2:\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_000216a7;" goto statement_identifier ;) })) (expression_statement "uVar20 = 0x5d;" (assignment_expression "uVar20 = 0x5d" identifier = number_literal) ;) }))) (if_statement "if (cVar8 == '\0') {\n      pcVar13 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar13,uVar20);\n    }\n    else {\n      pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar13,(int)cVar8,uVar20);\n    }" if (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar13 = (char *)dcgettext(0,"missing \'%c\'",5);\n      as_bad(pcVar13,uVar20);\n    }" { (expression_statement "pcVar13 = (char *)dcgettext(0,"missing \'%c\'",5);" (assignment_expression "pcVar13 = (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(pcVar13,uVar20);" (call_expression "as_bad(pcVar13,uVar20)" identifier (argument_list "(pcVar13,uVar20)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar13,(int)cVar8,uVar20);\n    }" else (compound_statement "{\n      pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      as_bad(pcVar13,(int)cVar8,uVar20);\n    }" { (expression_statement "pcVar13 = (char *)dcgettext(0,"found \'%c\', expected: \'%c\'",5);" (assignment_expression "pcVar13 = (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(pcVar13,(int)cVar8,uVar20);" (call_expression "as_bad(pcVar13,(int)cVar8,uVar20)" identifier (argument_list "(pcVar13,(int)cVar8,uVar20)" ( identifier , (cast_expression "(int)cVar8" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) }))) (labeled_statement "LAB_000216a7:\n    if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar11;\n    }" statement_identifier : (if_statement "if (*input_line_pointer == ' ') {\n      input_line_pointer = input_line_pointer + 1;\n      return paVar11;\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 paVar11;\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 paVar11;" return identifier ;) }))) (return_statement "return paVar11;" return identifier ;)) (case_statement "case 0xb:\n    goto _L369;" case number_literal : (goto_statement "goto _L369;" goto statement_identifier ;)) (case_statement "case 0xd:\n    if ((lex_type[pbVar19[1]] & 1) != 0) {\n      iVar15 = strncasecmp((char *)pbVar12,"startof.",8);\n      if (((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))) {\n        bVar23 = pbVar19[2];\n        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;\n        if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }\n        input_line_pointer = (char *)pbVar12;\n        expressionP->field_0x10 = 1;\n        if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }\n        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar13);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (now_seg == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) {\n      expressionP->field_0x10 = 2;\n      uVar20 = (undefined4)abs_section_offset;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;\n      *(undefined4 *)&expressionP->X_add_number = uVar20;\n      goto LAB_000212f6;\n    }\n    expressionP->field_0x10 = 3;\n    expressionP->X_add_symbol = &dot_symbol;\n    break;" case number_literal : (if_statement "if ((lex_type[pbVar19[1]] & 1) != 0) {\n      iVar15 = strncasecmp((char *)pbVar12,"startof.",8);\n      if (((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))) {\n        bVar23 = pbVar19[2];\n        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;\n        if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }\n        input_line_pointer = (char *)pbVar12;\n        expressionP->field_0x10 = 1;\n        if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }\n        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar13);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }" if (parenthesized_expression "((lex_type[pbVar19[1]] & 1) != 0)" ( (binary_expression "(lex_type[pbVar19[1]] & 1) != 0" (parenthesized_expression "(lex_type[pbVar19[1]] & 1)" ( (binary_expression "lex_type[pbVar19[1]] & 1" (subscript_expression "lex_type[pbVar19[1]]" identifier [ (subscript_expression "pbVar19[1]" identifier [ number_literal ]) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar15 = strncasecmp((char *)pbVar12,"startof.",8);\n      if (((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))) {\n        bVar23 = pbVar19[2];\n        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;\n        if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }\n        input_line_pointer = (char *)pbVar12;\n        expressionP->field_0x10 = 1;\n        if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }\n        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar13);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }" { (expression_statement "iVar15 = strncasecmp((char *)pbVar12,"startof.",8);" (assignment_expression "iVar15 = strncasecmp((char *)pbVar12,"startof.",8)" identifier = (call_expression "strncasecmp((char *)pbVar12,"startof.",8)" identifier (argument_list "((char *)pbVar12,"startof.",8)" ( (cast_expression "(char *)pbVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""startof."" " string_content ") , number_literal )))) ;) (if_statement "if (((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))) {\n        bVar23 = pbVar19[2];\n        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;\n        if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }\n        input_line_pointer = (char *)pbVar12;\n        expressionP->field_0x10 = 1;\n        if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }\n        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar13);\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0))))" ( (binary_expression "((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)) ||\n         ((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))" (parenthesized_expression "((iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0))" ( (binary_expression "(iVar15 == 0) && ((lex_type[pbVar19[9]] & 1) == 0)" (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) && (parenthesized_expression "((lex_type[pbVar19[9]] & 1) == 0)" ( (binary_expression "(lex_type[pbVar19[9]] & 1) == 0" (parenthesized_expression "(lex_type[pbVar19[9]] & 1)" ( (binary_expression "lex_type[pbVar19[9]] & 1" (subscript_expression "lex_type[pbVar19[9]]" identifier [ (subscript_expression "pbVar19[9]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)))" ( (parenthesized_expression "(iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0))" ( (comma_expression "iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7), iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)" (assignment_expression "iVar15 = strncasecmp((char *)pbVar12,"sizeof.",7)" identifier = (call_expression "strncasecmp((char *)pbVar12,"sizeof.",7)" identifier (argument_list "((char *)pbVar12,"sizeof.",7)" ( (cast_expression "(char *)pbVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""sizeof."" " string_content ") , number_literal )))) , (binary_expression "iVar15 == 0 &&\n          ((lex_type[pbVar19[8]] & 1) == 0)" (binary_expression "iVar15 == 0" identifier == number_literal) && (parenthesized_expression "((lex_type[pbVar19[8]] & 1) == 0)" ( (binary_expression "(lex_type[pbVar19[8]] & 1) == 0" (parenthesized_expression "(lex_type[pbVar19[8]] & 1)" ( (binary_expression "lex_type[pbVar19[8]] & 1" (subscript_expression "lex_type[pbVar19[8]]" identifier [ (subscript_expression "pbVar19[8]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) )))) )) ))) )) (compound_statement "{\n        bVar23 = pbVar19[2];\n        pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;\n        if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }\n        input_line_pointer = (char *)pbVar12;\n        expressionP->field_0x10 = 1;\n        if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }\n        pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        as_bad(pcVar13);\n        goto LAB_000212f6;\n      }" { (expression_statement "bVar23 = pbVar19[2];" (assignment_expression "bVar23 = pbVar19[2]" identifier = (subscript_expression "pbVar19[2]" identifier [ number_literal ])) ;) (expression_statement "pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7;" (assignment_expression "pbVar12 = pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7" identifier = (binary_expression "pbVar12 + ((bVar23 & 0xdf) == 0x54) + 7" (binary_expression "pbVar12 + ((bVar23 & 0xdf) == 0x54)" identifier + (parenthesized_expression "((bVar23 & 0xdf) == 0x54)" ( (binary_expression "(bVar23 & 0xdf) == 0x54" (parenthesized_expression "(bVar23 & 0xdf)" ( (binary_expression "bVar23 & 0xdf" identifier & number_literal) )) == number_literal) ))) + number_literal)) ;) (if_statement "if (*pbVar12 == 0x20) {\n          pbVar12 = pbVar12 + 1;\n        }" if (parenthesized_expression "(*pbVar12 == 0x20)" ( (binary_expression "*pbVar12 == 0x20" (pointer_expression "*pbVar12" * identifier) == number_literal) )) (compound_statement "{\n          pbVar12 = pbVar12 + 1;\n        }" { (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) })) (expression_statement "input_line_pointer = (char *)pbVar12;" (assignment_expression "input_line_pointer = (char *)pbVar12" identifier = (cast_expression "(char *)pbVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "expressionP->field_0x10 = 1;" (assignment_expression "expressionP->field_0x10 = 1" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) (if_statement "if (*pbVar12 == 0x28) {\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }" if (parenthesized_expression "(*pbVar12 == 0x28)" ( (binary_expression "*pbVar12 == 0x28" (pointer_expression "*pbVar12" * identifier) == number_literal) )) (compound_statement "{\n          input_line_pointer = (char *)(pbVar12 + 1);\n          if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }\n          cVar8 = get_symbol_name(&name);\n          if (*name == '\0') {\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }\n          pcVar13 = ".startof.";\n          if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }\n          pcVar13 = (char *)concat(pcVar13,name,0);\n          psVar10 = symbol_make(pcVar13);\n          free(pcVar13);\n          expressionP->field_0x10 = 3;\n          *(undefined4 *)&expressionP->X_add_number = 0;\n          expressionP->X_add_symbol = psVar10;\n          pcVar13 = input_line_pointer;\n          *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n          *pcVar13 = cVar8;\n          cVar8 = *input_line_pointer;\n          if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }\n          if (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }\n        }" { (expression_statement "input_line_pointer = (char *)(pbVar12 + 1);" (assignment_expression "input_line_pointer = (char *)(pbVar12 + 1)" identifier = (cast_expression "(char *)(pbVar12 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar12 + 1)" ( (binary_expression "pbVar12 + 1" identifier + number_literal) )))) ;) (if_statement "if (pbVar12[1] == 0x20) {\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }" if (parenthesized_expression "(pbVar12[1] == 0x20)" ( (binary_expression "pbVar12[1] == 0x20" (subscript_expression "pbVar12[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            input_line_pointer = (char *)(pbVar12 + 2);\n          }" { (expression_statement "input_line_pointer = (char *)(pbVar12 + 2);" (assignment_expression "input_line_pointer = (char *)(pbVar12 + 2)" identifier = (cast_expression "(char *)(pbVar12 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar12 + 2)" ( (binary_expression "pbVar12 + 2" identifier + number_literal) )))) ;) })) (expression_statement "cVar8 = get_symbol_name(&name);" (assignment_expression "cVar8 = 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            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }" if (parenthesized_expression "(*name == '\0')" ( (binary_expression "*name == '\0'" (pointer_expression "*name" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar13 = (char *)dcgettext(0,"expected symbol name",5);\n            as_bad(pcVar13);\n            *input_line_pointer = cVar8;\n            if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }\n            ignore_rest_of_line();\n            goto LAB_000212f6;\n          }" { (expression_statement "pcVar13 = (char *)dcgettext(0,"expected symbol name",5);" (assignment_expression "pcVar13 = (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(pcVar13);" (call_expression "as_bad(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "*input_line_pointer = cVar8;" (assignment_expression "*input_line_pointer = cVar8" (pointer_expression "*input_line_pointer" * identifier) = identifier) ;) (if_statement "if (cVar8 == '\"') {\n              restore_line_pointer('\"');\n            }\n            else if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }" if (parenthesized_expression "(cVar8 == '\"')" ( (binary_expression "cVar8 == '\"'" 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 (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }" else (if_statement "if (cVar8 == ')') {\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\n            }" if (parenthesized_expression "(cVar8 == ')')" ( (binary_expression "cVar8 == ')'" identifier == (char_literal "')'" ' character ')) )) (compound_statement "{\n              input_line_pointer = input_line_pointer + 1;\n              goto LAB_000212f6;\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_000212f6;" goto statement_identifier ;) })))) (expression_statement "ignore_rest_of_line();" (call_expression "ignore_rest_of_line()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (expression_statement "pcVar13 = ".startof.";" (assignment_expression "pcVar13 = ".startof."" identifier = (string_literal "".startof."" " string_content ")) ;) (if_statement "if ((bVar23 & 0xdf) != 0x54) {\n            pcVar13 = ".sizeof.";\n          }" if (parenthesized_expression "((bVar23 & 0xdf) != 0x54)" ( (binary_expression "(bVar23 & 0xdf) != 0x54" (parenthesized_expression "(bVar23 & 0xdf)" ( (binary_expression "bVar23 & 0xdf" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            pcVar13 = ".sizeof.";\n          }" { (expression_statement "pcVar13 = ".sizeof.";" (assignment_expression "pcVar13 = ".sizeof."" identifier = (string_literal "".sizeof."" " string_content ")) ;) })) (expression_statement "pcVar13 = (char *)concat(pcVar13,name,0);" (assignment_expression "pcVar13 = (char *)concat(pcVar13,name,0)" identifier = (cast_expression "(char *)concat(pcVar13,name,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "concat(pcVar13,name,0)" identifier (argument_list "(pcVar13,name,0)" ( identifier , identifier , number_literal ))))) ;) (expression_statement "psVar10 = symbol_make(pcVar13);" (assignment_expression "psVar10 = symbol_make(pcVar13)" identifier = (call_expression "symbol_make(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "free(pcVar13);" (call_expression "free(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (expression_statement "expressionP->field_0x10 = 3;" (assignment_expression "expressionP->field_0x10 = 3" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)&expressionP->X_add_number = 0;" (assignment_expression "*(undefined4 *)&expressionP->X_add_number = 0" (pointer_expression "*(undefined4 *)&expressionP->X_add_number" * (cast_expression "(undefined4 *)&expressionP->X_add_number" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "expressionP->X_add_symbol = psVar10;" (assignment_expression "expressionP->X_add_symbol = psVar10" (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar13 = input_line_pointer;" (assignment_expression "pcVar13 = input_line_pointer" identifier = identifier) ;) (expression_statement "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar13 = cVar8;" (assignment_expression "*pcVar13 = cVar8" (pointer_expression "*pcVar13" * identifier) = identifier) ;) (expression_statement "cVar8 = *input_line_pointer;" (assignment_expression "cVar8 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (if_statement "if (cVar8 == '\"') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }" if (parenthesized_expression "(cVar8 == '\"')" ( (binary_expression "cVar8 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }" { (expression_statement "cVar8 = input_line_pointer[1];" (assignment_expression "cVar8 = 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 (cVar8 == ' ') {\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }" if (parenthesized_expression "(cVar8 == ' ')" ( (binary_expression "cVar8 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n            cVar8 = input_line_pointer[1];\n            input_line_pointer = input_line_pointer + 1;\n          }" { (expression_statement "cVar8 = input_line_pointer[1];" (assignment_expression "cVar8 = 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 (cVar8 == ')') {\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\n          }" if (parenthesized_expression "(cVar8 == ')')" ( (binary_expression "cVar8 == ')'" identifier == (char_literal "')'" ' character ')) )) (compound_statement "{\n            input_line_pointer = input_line_pointer + 1;\n            goto LAB_000212f6;\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_000212f6;" goto statement_identifier ;) })) })) (expression_statement "pcVar13 = (char *)dcgettext(0,"syntax error in .startof. or .sizeof.",5);" (assignment_expression "pcVar13 = (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(pcVar13);" (call_expression "as_bad(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier ))) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (goto_statement "goto LAB_000217d0;" goto statement_identifier ;) })) (if_statement "if (now_seg == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) {\n      expressionP->field_0x10 = 2;\n      uVar20 = (undefined4)abs_section_offset;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;\n      *(undefined4 *)&expressionP->X_add_number = uVar20;\n      goto LAB_000212f6;\n    }" if (parenthesized_expression "(now_seg == (segT)(PTR__bfd_std_section_00067fa4 + 0x180))" ( (binary_expression "now_seg == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)" identifier == (call_expression "(segT)(PTR__bfd_std_section_00067fa4 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_00067fa4 + 0x180)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" identifier + number_literal) )))) )) (compound_statement "{\n      expressionP->field_0x10 = 2;\n      uVar20 = (undefined4)abs_section_offset;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;\n      *(undefined4 *)&expressionP->X_add_number = uVar20;\n      goto LAB_000212f6;\n    }" { (expression_statement "expressionP->field_0x10 = 2;" (assignment_expression "expressionP->field_0x10 = 2" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) (expression_statement "uVar20 = (undefined4)abs_section_offset;" (assignment_expression "uVar20 = (undefined4)abs_section_offset" identifier = (cast_expression "(undefined4)abs_section_offset" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "*(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;" (assignment_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_" (pointer_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = (field_expression "abs_section_offset._4_4_" identifier . field_identifier)) ;) (expression_statement "*(undefined4 *)&expressionP->X_add_number = uVar20;" (assignment_expression "*(undefined4 *)&expressionP->X_add_number = uVar20" (pointer_expression "*(undefined4 *)&expressionP->X_add_number" * (cast_expression "(undefined4 *)&expressionP->X_add_number" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = identifier) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (expression_statement "expressionP->field_0x10 = 3;" (assignment_expression "expressionP->field_0x10 = 3" (field_expression "expressionP->field_0x10" 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    bVar23 = pbVar19[1];\n    switch((int)(char)bVar23 - 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 (bVar23 != 0) goto LAB_00021973;\n      goto LAB_00021916;\n    case 0x12:\n      if ((byte)(pbVar19[2] - 0x30) < 2) {\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00021973:\n      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);\n      if (pcVar13 != (char *)0x0) {\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }\nLAB_00021916:\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 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      pbVar12 = pbVar12 + 1;\nLAB_00021994:\n      input_line_pointer = (char *)pbVar12;\n      floating_constant(expressionP);\n      bVar23 = PTR__sch_tolower_00067fbc[bVar23];\n      *(uint *)&expressionP->X_add_number = -(uint)bVar23;\n      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar19 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;\n      goto _L391;\n    case 0x36:\n      if ((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }\n_L391:\n      input_line_pointer = (char *)pbVar19;\n      integer_constant(10,expressionP);\n    }\n    goto LAB_000212f6;" case number_literal : (expression_statement "bVar23 = pbVar19[1];" (assignment_expression "bVar23 = pbVar19[1]" identifier = (subscript_expression "pbVar19[1]" identifier [ number_literal ])) ;) (switch_statement "switch((int)(char)bVar23 - 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 (bVar23 != 0) goto LAB_00021973;\n      goto LAB_00021916;\n    case 0x12:\n      if ((byte)(pbVar19[2] - 0x30) < 2) {\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00021973:\n      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);\n      if (pcVar13 != (char *)0x0) {\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }\nLAB_00021916:\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 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      pbVar12 = pbVar12 + 1;\nLAB_00021994:\n      input_line_pointer = (char *)pbVar12;\n      floating_constant(expressionP);\n      bVar23 = PTR__sch_tolower_00067fbc[bVar23];\n      *(uint *)&expressionP->X_add_number = -(uint)bVar23;\n      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar19 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;\n      goto _L391;\n    case 0x36:\n      if ((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }\n_L391:\n      input_line_pointer = (char *)pbVar19;\n      integer_constant(10,expressionP);\n    }" switch (parenthesized_expression "((int)(char)bVar23 - 0x30U & 0xff)" ( (binary_expression "(int)(char)bVar23 - 0x30U & 0xff" (binary_expression "(int)(char)bVar23 - 0x30U" (cast_expression "(int)(char)bVar23" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar23" ( (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 (bVar23 != 0) goto LAB_00021973;\n      goto LAB_00021916;\n    case 0x12:\n      if ((byte)(pbVar19[2] - 0x30) < 2) {\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00021973:\n      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);\n      if (pcVar13 != (char *)0x0) {\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }\nLAB_00021916:\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 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      pbVar12 = pbVar12 + 1;\nLAB_00021994:\n      input_line_pointer = (char *)pbVar12;\n      floating_constant(expressionP);\n      bVar23 = PTR__sch_tolower_00067fbc[bVar23];\n      *(uint *)&expressionP->X_add_number = -(uint)bVar23;\n      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;\n      break;\n    case 0x28:\n    case 0x48:\n      input_line_pointer = (char *)(pbVar19 + 2);\n      integer_constant(0x10,expressionP);\n      break;\n    case 0x32:\n      if ((byte)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;\n      goto _L391;\n    case 0x36:\n      if ((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }\n_L391:\n      input_line_pointer = (char *)pbVar19;\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 (bVar23 != 0) goto LAB_00021973;\n      goto LAB_00021916;" default : (if_statement "if (bVar23 != 0) goto LAB_00021973;" if (parenthesized_expression "(bVar23 != 0)" ( (binary_expression "bVar23 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00021973;" goto statement_identifier ;)) (goto_statement "goto LAB_00021916;" goto statement_identifier ;)) (case_statement "case 0x12:\n      if ((byte)(pbVar19[2] - 0x30) < 2) {\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }\nLAB_00021973:\n      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);\n      if (pcVar13 != (char *)0x0) {\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }\nLAB_00021916:\n      expressionP->field_0x10 = 2;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n      break;" case number_literal : (if_statement "if ((byte)(pbVar19[2] - 0x30) < 2) {\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }" if (parenthesized_expression "((byte)(pbVar19[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar19[2] - 0x30) < 2" (call_expression "(byte)(pbVar19[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar19[2] - 0x30)" ( (binary_expression "pbVar19[2] - 0x30" (subscript_expression "pbVar19[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\nLAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);\n        integer_constant(2,expressionP);\n        break;\n      }" { (labeled_statement "LAB_00021952:\n        input_line_pointer = (char *)(pbVar19 + 2);" statement_identifier : (expression_statement "input_line_pointer = (char *)(pbVar19 + 2);" (assignment_expression "input_line_pointer = (char *)(pbVar19 + 2)" identifier = (cast_expression "(char *)(pbVar19 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar19 + 2)" ( (binary_expression "pbVar19 + 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_00021973:\n      pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);" statement_identifier : (expression_statement "pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23);" (assignment_expression "pcVar13 = strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23)" identifier = (call_expression "strchr(PTR_FLT_CHARS_00067f38,(int)(char)bVar23)" identifier (argument_list "(PTR_FLT_CHARS_00067f38,(int)(char)bVar23)" ( identifier , (cast_expression "(int)(char)bVar23" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar23" ( (type_descriptor "char" primitive_type) ) identifier)) )))) ;)) (if_statement "if (pcVar13 != (char *)0x0) {\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }" if (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pbVar12 = pbVar19 + 2;\n        goto LAB_00021994;\n      }" { (expression_statement "pbVar12 = pbVar19 + 2;" (assignment_expression "pbVar12 = pbVar19 + 2" identifier = (binary_expression "pbVar19 + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_00021994;" goto statement_identifier ;) })) (labeled_statement "LAB_00021916:\n      expressionP->field_0x10 = 2;" statement_identifier : (expression_statement "expressionP->field_0x10 = 2;" (assignment_expression "expressionP->field_0x10 = 2" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;)) (expression_statement "*(undefined4 *)&expressionP->X_add_number = 0;" (assignment_expression "*(undefined4 *)&expressionP->X_add_number = 0" (pointer_expression "*(undefined4 *)&expressionP->X_add_number" * (cast_expression "(undefined4 *)&expressionP->X_add_number" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_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      pbVar12 = pbVar12 + 1;\nLAB_00021994:\n      input_line_pointer = (char *)pbVar12;\n      floating_constant(expressionP);\n      bVar23 = PTR__sch_tolower_00067fbc[bVar23];\n      *(uint *)&expressionP->X_add_number = -(uint)bVar23;\n      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;\n      break;" case number_literal : (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_00021994:\n      input_line_pointer = (char *)pbVar12;" statement_identifier : (expression_statement "input_line_pointer = (char *)pbVar12;" (assignment_expression "input_line_pointer = (char *)pbVar12" identifier = (cast_expression "(char *)pbVar12" ( (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 "bVar23 = PTR__sch_tolower_00067fbc[bVar23];" (assignment_expression "bVar23 = PTR__sch_tolower_00067fbc[bVar23]" identifier = (subscript_expression "PTR__sch_tolower_00067fbc[bVar23]" identifier [ identifier ])) ;) (expression_statement "*(uint *)&expressionP->X_add_number = -(uint)bVar23;" (assignment_expression "*(uint *)&expressionP->X_add_number = -(uint)bVar23" (pointer_expression "*(uint *)&expressionP->X_add_number" * (cast_expression "(uint *)&expressionP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = (unary_expression "-(uint)bVar23" - (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f;" (assignment_expression "*(int *)((int)&expressionP->X_add_number + 4) = (int)-(uint)bVar23 >> 0x1f" (pointer_expression "*(int *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(int *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(int)-(uint)bVar23 >> 0x1f" (cast_expression "(int)-(uint)bVar23" ( (type_descriptor "int" primitive_type) ) (unary_expression "-(uint)bVar23" - (cast_expression "(uint)bVar23" ( (type_descriptor "uint" type_identifier) ) identifier))) >> number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x48:\n      input_line_pointer = (char *)(pbVar19 + 2);\n      integer_constant(0x10,expressionP);\n      break;" case number_literal : (expression_statement "input_line_pointer = (char *)(pbVar19 + 2);" (assignment_expression "input_line_pointer = (char *)(pbVar19 + 2)" identifier = (cast_expression "(char *)(pbVar19 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar19 + 2)" ( (binary_expression "pbVar19 + 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)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;\n      goto _L391;" case number_literal : (if_statement "if ((byte)(pbVar19[2] - 0x30) < 2) goto LAB_00021952;" if (parenthesized_expression "((byte)(pbVar19[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar19[2] - 0x30) < 2" (call_expression "(byte)(pbVar19[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar19[2] - 0x30)" ( (binary_expression "pbVar19[2] - 0x30" (subscript_expression "pbVar19[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (goto_statement "goto LAB_00021952;" goto statement_identifier ;)) (goto_statement "goto _L391;" goto statement_identifier ;)) (case_statement "case 0x36:\n      if ((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }\n_L391:\n      input_line_pointer = (char *)pbVar19;\n      integer_constant(10,expressionP);" case number_literal : (if_statement "if ((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)) {\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }" if (parenthesized_expression "((is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0))" ( (binary_expression "(is_end_of_line[pbVar19[2]] == '\0') &&\n         (pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)" (parenthesized_expression "(is_end_of_line[pbVar19[2]] == '\0')" ( (binary_expression "is_end_of_line[pbVar19[2]] == '\0'" (subscript_expression "is_end_of_line[pbVar19[2]]" identifier [ (subscript_expression "pbVar19[2]" identifier [ number_literal ]) ]) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0)" ( (comma_expression "pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66), pcVar13 != (char *)0x0" (assignment_expression "pcVar13 = strchr(PTR_FLT_CHARS_00067f38,0x66)" identifier = (call_expression "strchr(PTR_FLT_CHARS_00067f38,0x66)" identifier (argument_list "(PTR_FLT_CHARS_00067f38,0x66)" ( identifier , number_literal )))) , (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        name = (char *)(pbVar19 + 2);\n        atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;\n        pbVar19 = (byte *)(input_line_pointer + -1);\n      }" { (expression_statement "name = (char *)(pbVar19 + 2);" (assignment_expression "name = (char *)(pbVar19 + 2)" identifier = (cast_expression "(char *)(pbVar19 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar19 + 2)" ( (binary_expression "pbVar19 + 2" identifier + number_literal) )))) ;) (expression_statement "atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&generic_floating_point_number);" (call_expression "atof_generic(&name,".",PTR_EXP_CHARS_00067f88,&generic_floating_point_number)" identifier (argument_list "(&name,".",PTR_EXP_CHARS_00067f88,&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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))) goto LAB_00021994;" if (parenthesized_expression "((name != input_line_pointer + 1) &&\n           ((((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar12 = (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             ) && (pbVar12 = (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             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')))" ( (parenthesized_expression "(((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b'))" ( (binary_expression "((name != input_line_pointer + 2 || ((name[-1] - 0x2bU & 0xfd) != 0)) && (*name != 'f')\n             ) && (pbVar12 = (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 "(pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b')" ( (comma_expression "pbVar12 = (byte *)(input_line_pointer + 1), *name != 'b'" (assignment_expression "pbVar12 = (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_00021994;" goto statement_identifier ;)) (expression_statement "pbVar19 = (byte *)(input_line_pointer + -1);" (assignment_expression "pbVar19 = (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 "_L391:\n      input_line_pointer = (char *)pbVar19;" statement_identifier : (expression_statement "input_line_pointer = (char *)pbVar19;" (assignment_expression "input_line_pointer = (char *)pbVar19" identifier = (cast_expression "(char *)pbVar19" ( (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_000212f6;" 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 _L391;" case number_literal : (goto_statement "goto _L391;" goto statement_identifier ;)) (case_statement "case 0x5d:\n    if ((lex_type[uVar9] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar7 = expressionP->field_0x10;\n      if (bVar7 != 2) {\n        if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }\n        goto LAB_000216f4;\n      }\n      goto LAB_00021aea;\n    }\nLAB_000217d0:\n    input_line_pointer = (char *)pbVar19;\n    cVar8 = get_symbol_name(&name);\n    psVar10 = symbol_find_or_make(name);\n    paVar11 = S_GET_SEGMENT(psVar10);\n    if (mode == expr_defer) {\nLAB_00021828:\n      expressionP->field_0x10 = 3;\n      expressionP->X_add_symbol = psVar10;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n    }\n    else {\n      if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {\n        expressionP->field_0x10 = 2;\n      }\n      else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }\n      vVar22 = S_GET_VALUE(psVar10);\n      expressionP->X_add_number = vVar22;\n    }\n    *input_line_pointer = cVar8;\n    if (cVar8 == '\"') {\n      restore_line_pointer('\"');\n    }\n    goto LAB_000212f6;" case number_literal : (if_statement "if ((lex_type[uVar9] & 2) == 0) {\n      operand(expressionP,mode);\n      bVar7 = expressionP->field_0x10;\n      if (bVar7 != 2) {\n        if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }\n        goto LAB_000216f4;\n      }\n      goto LAB_00021aea;\n    }" if (parenthesized_expression "((lex_type[uVar9] & 2) == 0)" ( (binary_expression "(lex_type[uVar9] & 2) == 0" (parenthesized_expression "(lex_type[uVar9] & 2)" ( (binary_expression "lex_type[uVar9] & 2" (subscript_expression "lex_type[uVar9]" identifier [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      operand(expressionP,mode);\n      bVar7 = expressionP->field_0x10;\n      if (bVar7 != 2) {\n        if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }\n        goto LAB_000216f4;\n      }\n      goto LAB_00021aea;\n    }" { (expression_statement "operand(expressionP,mode);" (call_expression "operand(expressionP,mode)" identifier (argument_list "(expressionP,mode)" ( identifier , identifier ))) ;) (expression_statement "bVar7 = expressionP->field_0x10;" (assignment_expression "bVar7 = expressionP->field_0x10" identifier = (field_expression "expressionP->field_0x10" identifier -> field_identifier)) ;) (if_statement "if (bVar7 != 2) {\n        if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }\n        goto LAB_000216f4;\n      }" if (parenthesized_expression "(bVar7 != 2)" ( (binary_expression "bVar7 != 2" identifier != number_literal) )) (compound_statement "{\n        if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }\n        goto LAB_000216f4;\n      }" { (if_statement "if (bVar7 == 6) {\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }" if (parenthesized_expression "(bVar7 == 6)" ( (binary_expression "bVar7 == 6" identifier == number_literal) )) (compound_statement "{\n          uVar9 = (uint)expressionP->X_add_number;\n          local_48 = *(uint *)((int)&expressionP->X_add_number + 4);\n          bVar21 = false;\n          goto LAB_00021597;\n        }" { (expression_statement "uVar9 = (uint)expressionP->X_add_number;" (assignment_expression "uVar9 = (uint)expressionP->X_add_number" identifier = (cast_expression "(uint)expressionP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "expressionP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "local_48 = *(uint *)((int)&expressionP->X_add_number + 4);" (assignment_expression "local_48 = *(uint *)((int)&expressionP->X_add_number + 4)" identifier = (pointer_expression "*(uint *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(uint *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (goto_statement "goto LAB_00021597;" goto statement_identifier ;) })) (goto_statement "goto LAB_000216f4;" goto statement_identifier ;) })) (goto_statement "goto LAB_00021aea;" goto statement_identifier ;) })) (labeled_statement "LAB_000217d0:\n    input_line_pointer = (char *)pbVar19;" statement_identifier : (expression_statement "input_line_pointer = (char *)pbVar19;" (assignment_expression "input_line_pointer = (char *)pbVar19" identifier = (cast_expression "(char *)pbVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "cVar8 = get_symbol_name(&name);" (assignment_expression "cVar8 = get_symbol_name(&name)" identifier = (call_expression "get_symbol_name(&name)" identifier (argument_list "(&name)" ( (pointer_expression "&name" & identifier) )))) ;) (expression_statement "psVar10 = symbol_find_or_make(name);" (assignment_expression "psVar10 = symbol_find_or_make(name)" identifier = (call_expression "symbol_find_or_make(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "paVar11 = S_GET_SEGMENT(psVar10);" (assignment_expression "paVar11 = S_GET_SEGMENT(psVar10)" identifier = (call_expression "S_GET_SEGMENT(psVar10)" identifier (argument_list "(psVar10)" ( identifier )))) ;) (if_statement "if (mode == expr_defer) {\nLAB_00021828:\n      expressionP->field_0x10 = 3;\n      expressionP->X_add_symbol = psVar10;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n    }\n    else {\n      if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {\n        expressionP->field_0x10 = 2;\n      }\n      else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }\n      vVar22 = S_GET_VALUE(psVar10);\n      expressionP->X_add_number = vVar22;\n    }" if (parenthesized_expression "(mode == expr_defer)" ( (binary_expression "mode == expr_defer" identifier == identifier) )) (compound_statement "{\nLAB_00021828:\n      expressionP->field_0x10 = 3;\n      expressionP->X_add_symbol = psVar10;\n      *(undefined4 *)&expressionP->X_add_number = 0;\n      *(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;\n    }" { (labeled_statement "LAB_00021828:\n      expressionP->field_0x10 = 3;" statement_identifier : (expression_statement "expressionP->field_0x10 = 3;" (assignment_expression "expressionP->field_0x10 = 3" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;)) (expression_statement "expressionP->X_add_symbol = psVar10;" (assignment_expression "expressionP->X_add_symbol = psVar10" (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)&expressionP->X_add_number = 0;" (assignment_expression "*(undefined4 *)&expressionP->X_add_number = 0" (pointer_expression "*(undefined4 *)&expressionP->X_add_number" * (cast_expression "(undefined4 *)&expressionP->X_add_number" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {\n        expressionP->field_0x10 = 2;\n      }\n      else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }\n      vVar22 = S_GET_VALUE(psVar10);\n      expressionP->X_add_number = vVar22;\n    }" else (compound_statement "{\n      if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {\n        expressionP->field_0x10 = 2;\n      }\n      else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }\n      vVar22 = S_GET_VALUE(psVar10);\n      expressionP->X_add_number = vVar22;\n    }" { (if_statement "if ((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)) {\n        expressionP->field_0x10 = 2;\n      }\n      else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }" if (parenthesized_expression "((paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0))" ( (binary_expression "(paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)) &&\n         (iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)" (parenthesized_expression "(paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180))" ( (binary_expression "paVar11 == (segT)(PTR__bfd_std_section_00067fa4 + 0x180)" identifier == (call_expression "(segT)(PTR__bfd_std_section_00067fa4 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_00067fa4 + 0x180)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" identifier + number_literal) )))) )) && (parenthesized_expression "(iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0)" ( (comma_expression "iVar15 = S_FORCE_RELOC(psVar10,0), iVar15 == 0" (assignment_expression "iVar15 = S_FORCE_RELOC(psVar10,0)" identifier = (call_expression "S_FORCE_RELOC(psVar10,0)" identifier (argument_list "(psVar10,0)" ( identifier , number_literal )))) , (binary_expression "iVar15 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        expressionP->field_0x10 = 2;\n      }" { (expression_statement "expressionP->field_0x10 = 2;" (assignment_expression "expressionP->field_0x10 = 2" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }" else (compound_statement "{\n        if (reg_section != paVar11) goto LAB_00021828;\n        expressionP->field_0x10 = 5;\n      }" { (if_statement "if (reg_section != paVar11) goto LAB_00021828;" if (parenthesized_expression "(reg_section != paVar11)" ( (binary_expression "reg_section != paVar11" identifier != identifier) )) (goto_statement "goto LAB_00021828;" goto statement_identifier ;)) (expression_statement "expressionP->field_0x10 = 5;" (assignment_expression "expressionP->field_0x10 = 5" (field_expression "expressionP->field_0x10" identifier -> field_identifier) = number_literal) ;) }))) (expression_statement "vVar22 = S_GET_VALUE(psVar10);" (assignment_expression "vVar22 = S_GET_VALUE(psVar10)" identifier = (call_expression "S_GET_VALUE(psVar10)" identifier (argument_list "(psVar10)" ( identifier )))) ;) (expression_statement "expressionP->X_add_number = vVar22;" (assignment_expression "expressionP->X_add_number = vVar22" (field_expression "expressionP->X_add_number" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "*input_line_pointer = cVar8;" (assignment_expression "*input_line_pointer = cVar8" (pointer_expression "*input_line_pointer" * identifier) = identifier) ;) (if_statement "if (cVar8 == '\"') {\n      restore_line_pointer('\"');\n    }" if (parenthesized_expression "(cVar8 == '\"')" ( (binary_expression "cVar8 == '\"'" 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_000212f6;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)&expressionP->X_add_number = 0;" (assignment_expression "*(undefined4 *)&expressionP->X_add_number = 0" (pointer_expression "*(undefined4 *)&expressionP->X_add_number" * (cast_expression "(undefined4 *)&expressionP->X_add_number" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&expressionP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&expressionP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&expressionP->X_add_number + 4)" ( (binary_expression "(int)&expressionP->X_add_number + 4" (cast_expression "(int)&expressionP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&expressionP->X_add_number" & (field_expression "expressionP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_000212f6:\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 "cVar8 = *input_line_pointer;" (assignment_expression "cVar8 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (while_statement "while (cVar8 == ' ') {\n    input_line_pointer = input_line_pointer + 1;\n    cVar8 = *input_line_pointer;\n  }" while (parenthesized_expression "(cVar8 == ' ')" ( (binary_expression "cVar8 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n    input_line_pointer = input_line_pointer + 1;\n    cVar8 = *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 "cVar8 = *input_line_pointer;" (assignment_expression "cVar8 = *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    psVar10 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);\n    expressionP->X_add_symbol = psVar10;\n    psVar10 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);\n    expressionP->X_op_symbol = psVar10;\n  }" if (parenthesized_expression "(mode != expr_defer)" ( (binary_expression "mode != expr_defer" identifier != identifier) )) (compound_statement "{\n    psVar10 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);\n    expressionP->X_add_symbol = psVar10;\n    psVar10 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);\n    expressionP->X_op_symbol = psVar10;\n  }" { (expression_statement "psVar10 = symbol_clone_if_forward_ref(expressionP->X_add_symbol,0);" (assignment_expression "psVar10 = 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 = psVar10;" (assignment_expression "expressionP->X_add_symbol = psVar10" (field_expression "expressionP->X_add_symbol" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar10 = symbol_clone_if_forward_ref(expressionP->X_op_symbol,0);" (assignment_expression "psVar10 = 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 = psVar10;" (assignment_expression "expressionP->X_op_symbol = psVar10" (field_expression "expressionP->X_op_symbol" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (expressionP->field_0x10 == '\x03') {\n    paVar11 = S_GET_SEGMENT(expressionP->X_add_symbol);\n    return paVar11;\n  }" if (parenthesized_expression "(expressionP->field_0x10 == '\x03')" ( (binary_expression "expressionP->field_0x10 == '\x03'" (field_expression "expressionP->field_0x10" identifier -> field_identifier) == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n    paVar11 = S_GET_SEGMENT(expressionP->X_add_symbol);\n    return paVar11;\n  }" { (expression_statement "paVar11 = S_GET_SEGMENT(expressionP->X_add_symbol);" (assignment_expression "paVar11 = 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 paVar11;" return identifier ;) })) (if_statement "if (expressionP->field_0x10 != '\x05') {\n    return (segT)(PTR__bfd_std_section_00067fa4 + 0x180);\n  }" if (parenthesized_expression "(expressionP->field_0x10 != '\x05')" ( (binary_expression "expressionP->field_0x10 != '\x05'" (field_expression "expressionP->field_0x10" identifier -> field_identifier) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n    return (segT)(PTR__bfd_std_section_00067fa4 + 0x180);\n  }" { (return_statement "return (segT)(PTR__bfd_std_section_00067fa4 + 0x180);" return (call_expression "(segT)(PTR__bfd_std_section_00067fa4 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_00067fa4 + 0x180)" ( (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" identifier + number_literal) ))) ;) })) (return_statement "return reg_section;" return identifier ;) })))
(translation_unit "undefined * __regparm3 FUN_00021270(int *param_1,int param_2)\n\n{\n  short sVar1;\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  byte *pbVar13;\n  bool bVar14;\n  undefined8 uVar15;\n  char cVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  uint uStack_48;\n  byte *local_40;\n  uint local_3c;\n  byte *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2127b;\n  *(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1;\n  pbVar13 = DAT_00070ff8;\n  pbVar18 = DAT_00070ff8 + 1;\n  if (*DAT_00070ff8 == 0x20) {\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }\n  bVar3 = *pbVar13;\n  uVar4 = (uint)bVar3;\n  if ((&DAT_000682e0)[uVar4] != '\0') {\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }\n  DAT_00070ff8 = pbVar18;\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\n  }\n  param_1[2] = 0;\n  param_1[3] = 0;\nLAB_000212f6:\n  FUN_0001f9a0(pbVar18);\n  bVar3 = *DAT_00070ff8;\n  while (bVar3 == 0x20) {\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }\n  if (*param_1 != 0) {\n    FUN_0003a250(*param_1);\n  }\n  if (param_2 != 2) {\n    iVar5 = FUN_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(param_1[1],0);\n    param_1[1] = iVar5;\n  }\n  if ((char)param_1[4] == '\x03') {\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }\n  if ((char)param_1[4] != '\x05') {\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }\n  return DAT_00070e90;\n}\n\n" (ERROR "undefined * __regparm3 FUN_00021270(int *param_1,int param_2)" (binary_expression "undefined * __regparm3 FUN_00021270(int *param_1,int param_2)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_00021270(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 sVar1;\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  byte *pbVar13;\n  bool bVar14;\n  undefined8 uVar15;\n  char cVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  uint uStack_48;\n  byte *local_40;\n  uint local_3c;\n  byte *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2127b;\n  *(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1;\n  pbVar13 = DAT_00070ff8;\n  pbVar18 = DAT_00070ff8 + 1;\n  if (*DAT_00070ff8 == 0x20) {\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }\n  bVar3 = *pbVar13;\n  uVar4 = (uint)bVar3;\n  if ((&DAT_000682e0)[uVar4] != '\0') {\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }\n  DAT_00070ff8 = pbVar18;\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\n  }\n  param_1[2] = 0;\n  param_1[3] = 0;\nLAB_000212f6:\n  FUN_0001f9a0(pbVar18);\n  bVar3 = *DAT_00070ff8;\n  while (bVar3 == 0x20) {\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }\n  if (*param_1 != 0) {\n    FUN_0003a250(*param_1);\n  }\n  if (param_2 != 2) {\n    iVar5 = FUN_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(param_1[1],0);\n    param_1[1] = iVar5;\n  }\n  if ((char)param_1[4] == '\x03') {\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }\n  if ((char)param_1[4] != '\x05') {\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }\n  return DAT_00070e90;\n}" { (declaration "short sVar1;" (sized_type_specifier "short" short) 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 "byte *pbVar13;" type_identifier (pointer_declarator "*pbVar13" * identifier) ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "char cVar16;" primitive_type identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "uint uStack_48;" type_identifier identifier ;) (declaration "byte *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "uint local_3c;" type_identifier 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 = 0x2127b;" (assignment_expression "uStack_14 = 0x2127b" identifier = number_literal) ;) (expression_statement "*(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1;" (assignment_expression "*(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1" (pointer_expression "*(byte *)((int)param_1 + 0x11)" * (cast_expression "(byte *)((int)param_1 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_1 + 0x11) & 0xfc | 1" (binary_expression "*(byte *)((int)param_1 + 0x11) & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0x11)" * (cast_expression "(byte *)((int)param_1 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "pbVar13 = DAT_00070ff8;" (assignment_expression "pbVar13 = DAT_00070ff8" identifier = identifier) ;) (expression_statement "pbVar18 = DAT_00070ff8 + 1;" (assignment_expression "pbVar18 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (if_statement "if (*DAT_00070ff8 == 0x20) {\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }" if (parenthesized_expression "(*DAT_00070ff8 == 0x20)" ( (binary_expression "*DAT_00070ff8 == 0x20" (pointer_expression "*DAT_00070ff8" * identifier) == number_literal) )) (compound_statement "{\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }" { (expression_statement "pbVar18 = DAT_00070ff8 + 2;" (assignment_expression "pbVar18 = DAT_00070ff8 + 2" identifier = (binary_expression "DAT_00070ff8 + 2" identifier + number_literal)) ;) (expression_statement "pbVar13 = DAT_00070ff8 + 1;" (assignment_expression "pbVar13 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) })) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" identifier = (pointer_expression "*pbVar13" * 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_000682e0)[uVar4] != '\0') {\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }" if (parenthesized_expression "((&DAT_000682e0)[uVar4] != '\0')" ( (binary_expression "(&DAT_000682e0)[uVar4] != '\0'" (subscript_expression "(&DAT_000682e0)[uVar4]" (parenthesized_expression "(&DAT_000682e0)" ( (pointer_expression "&DAT_000682e0" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }" { (labeled_statement "LAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 4) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 1" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" identifier = identifier) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (expression_statement "DAT_00070ff8 = pbVar18;" (assignment_expression "DAT_00070ff8 = pbVar18" identifier = identifier) ;) (switch_statement "switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\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    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\n  }" { (case_statement "case 0:" case number_literal :) (case_statement "case 10:" case number_literal :) (case_statement "case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;" case number_literal : (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "FUN_00021270();" (call_expression "FUN_00021270()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar3 = *(byte *)(param_1 + 4);" (assignment_expression "bVar3 = *(byte *)(param_1 + 4)" identifier = (pointer_expression "*(byte *)(param_1 + 4)" * (cast_expression "(byte *)(param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = (byte)pbVar18;" (assignment_expression "bVar2 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }" if (parenthesized_expression "(bVar3 == 2)" ( (binary_expression "bVar3 == 2" identifier == number_literal) )) (compound_statement "{\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }" { (if_statement "if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(bVar2 == 0x2d)" ( (binary_expression "bVar2 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }" { (expression_statement "iVar5 = param_1[2];" (assignment_expression "iVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "bVar3 = *(byte *)((int)param_1 + 0x11);" (assignment_expression "bVar3 = *(byte *)((int)param_1 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_1 + 0x11)" * (cast_expression "(byte *)((int)param_1 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pbVar18 = (byte *)-iVar5;" (assignment_expression "pbVar18 = (byte *)-iVar5" identifier = (cast_expression "(byte *)-iVar5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-iVar5" - identifier))) ;) (expression_statement "param_1[2] = (int)pbVar18;" (assignment_expression "param_1[2] = (int)pbVar18" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar5 = -(param_1[3] + (uint)(iVar5 != 0));" (assignment_expression "iVar5 = -(param_1[3] + (uint)(iVar5 != 0))" identifier = (unary_expression "-(param_1[3] + (uint)(iVar5 != 0))" - (parenthesized_expression "(param_1[3] + (uint)(iVar5 != 0))" ( (binary_expression "param_1[3] + (uint)(iVar5 != 0)" (subscript_expression "param_1[3]" identifier [ number_literal ]) + (call_expression "(uint)(iVar5 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )))) )))) ;) (expression_statement "*(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;" (assignment_expression "*(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe" (pointer_expression "*(byte *)((int)param_1 + 0x11)" * (cast_expression "(byte *)((int)param_1 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar3 & 0xfe" identifier & number_literal)) ;) (expression_statement "param_1[3] = iVar5;" (assignment_expression "param_1[3] = iVar5" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" if (parenthesized_expression "(iVar5 != 0 || pbVar18 != (byte *)0x0)" ( (binary_expression "iVar5 != 0 || pbVar18 != (byte *)0x0" (binary_expression "iVar5 != 0" identifier != number_literal) || (binary_expression "pbVar18 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" { (expression_statement "*(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;" (assignment_expression "*(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0x11)" * (cast_expression "(byte *)((int)param_1 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x11)" ( (binary_expression "(int)param_1 + 0x11" (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_000212f6;" goto statement_identifier ;) })) (if_statement "if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(bVar2 != 0x22)" ( (binary_expression "bVar2 != 0x22" identifier != number_literal) )) (compound_statement "{\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }" { (if_statement "if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }" if (parenthesized_expression "(bVar2 == 0x21)" ( (binary_expression "bVar2 == 0x21" identifier == number_literal) )) (compound_statement "{\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }" { (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);" (assignment_expression "param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0)" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (call_expression "(uint)(param_1[2] == 0 && iVar5 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1[2] == 0 && iVar5 == 0)" ( (binary_expression "param_1[2] == 0 && iVar5 == 0" (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) == number_literal) && (binary_expression "iVar5 == 0" identifier == number_literal)) )))) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (labeled_statement "code_r0x00021aea:\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 ]))) ;)) (expression_statement "param_1[3] = ~param_1[3];" (assignment_expression "param_1[3] = ~param_1[3]" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (unary_expression "~param_1[3]" ~ (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (if_statement "if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }" if (parenthesized_expression "(bVar3 == 6)" ( (binary_expression "bVar3 == 6" identifier == number_literal) )) (compound_statement "{\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }" { (expression_statement "pbVar18 = (byte *)param_1[2];" (assignment_expression "pbVar18 = (byte *)param_1[2]" identifier = (cast_expression "(byte *)param_1[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "bVar14 = bVar2 == 0x2d;" (assignment_expression "bVar14 = bVar2 == 0x2d" identifier = (binary_expression "bVar2 == 0x2d" identifier == number_literal)) ;) (expression_statement "uStack_48 = param_1[3];" (assignment_expression "uStack_48 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (if_statement "if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14))" ( (binary_expression "(-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)" (parenthesized_expression "(-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48))" ( (binary_expression "-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)" number_literal < (cast_expression "(int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)" ( (binary_expression "(uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48" (binary_expression "(uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0)" (parenthesized_expression "(uStack_48 - 1)" ( (binary_expression "uStack_48 - 1" identifier - number_literal) )) + (call_expression "(uint)(pbVar18 != (byte *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar18 != (byte *)0x0)" ( (binary_expression "pbVar18 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) | identifier) )))) )) || (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) ))) )) (compound_statement "{\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }" { (labeled_statement "code_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;" statement_identifier : (if_statement "if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;" if (parenthesized_expression "((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48)" ( (binary_expression "(int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48" (cast_expression "(int)(uint)(pbVar18 != (byte *)0x0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(pbVar18 != (byte *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar18 != (byte *)0x0)" ( (binary_expression "pbVar18 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) <= (cast_expression "(int)-uStack_48" ( (type_descriptor "int" primitive_type) ) (unary_expression "-uStack_48" - identifier))) )) (goto_statement "goto code_r0x000216fc;" goto statement_identifier ;))) (if_statement "if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }" if (parenthesized_expression "((bVar2 != 0x7e) && (!bVar14))" ( (binary_expression "(bVar2 != 0x7e) && (!bVar14)" (parenthesized_expression "(bVar2 != 0x7e)" ( (binary_expression "bVar2 != 0x7e" identifier != number_literal) )) && (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) ))) )) (compound_statement "{\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }" { (if_statement "if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }" if (parenthesized_expression "(bVar2 == 0x21)" ( (binary_expression "bVar2 == 0x21" identifier == number_literal) )) (compound_statement "{\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }" { (if_statement "if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }" if (parenthesized_expression "(DAT_00070f80 == 0)" ( (binary_expression "DAT_00070f80 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }" { (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (expression_statement "pbVar13 = (byte *)0x1;" (assignment_expression "pbVar13 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);" do (compound_statement "{\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              }" { (expression_statement "local_40 = pbVar13;" (assignment_expression "local_40 = pbVar13" identifier = identifier) ;) (expression_statement "local_3c = uVar4;" (assignment_expression "local_3c = uVar4" identifier = identifier) ;) (if_statement "if (uStack_48 == local_3c && pbVar18 == local_40) break;" if (parenthesized_expression "(uStack_48 == local_3c && pbVar18 == local_40)" ( (binary_expression "uStack_48 == local_3c && pbVar18 == local_40" (binary_expression "uStack_48 == local_3c" identifier == identifier) && (binary_expression "pbVar18 == local_40" identifier == identifier)) )) (break_statement "break;" break ;)) (expression_statement "uVar4 = local_3c + ((byte *)0xfffffffe < local_40);" (assignment_expression "uVar4 = local_3c + ((byte *)0xfffffffe < local_40)" identifier = (binary_expression "local_3c + ((byte *)0xfffffffe < local_40)" identifier + (parenthesized_expression "((byte *)0xfffffffe < local_40)" ( (binary_expression "(byte *)0xfffffffe < local_40" (cast_expression "(byte *)0xfffffffe" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )))) ;) (expression_statement "pbVar13 = local_40 + 1;" (assignment_expression "pbVar13 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0)" ( (binary_expression "*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0" (pointer_expression "*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2)" * (cast_expression "(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00070f7e + (int)(local_40 + 1) * 2)" ( (binary_expression "&DAT_00070f7e + (int)(local_40 + 1) * 2" (pointer_expression "&DAT_00070f7e" & identifier) + (binary_expression "(int)(local_40 + 1) * 2" (cast_expression "(int)(local_40 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_40 + 1)" ( (binary_expression "local_40 + 1" identifier + number_literal) ))) * number_literal)) )))) == number_literal) )) ;) }) (else_clause "else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }" else (compound_statement "{\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }" { (expression_statement "local_40 = (byte *)0x0;" (assignment_expression "local_40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) }))) (expression_statement "param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);" (assignment_expression "param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0)" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (call_expression "(uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0)" ( (binary_expression "(SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0" (parenthesized_expression "(SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18)))" ( (binary_expression "SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))" (call_expression "SBORROW4(local_3c,uStack_48)" identifier (argument_list "(local_3c,uStack_48)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))" identifier (argument_list "(local_3c - uStack_48,(uint)(local_40 < pbVar18))" ( (binary_expression "local_3c - uStack_48" identifier - identifier) , (call_expression "(uint)(local_40 < pbVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_40 < pbVar18)" ( (binary_expression "local_40 < pbVar18" identifier < identifier) ))) )))) )) == (binary_expression "(int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0" (cast_expression "(int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_3c - uStack_48) - (uint)(local_40 < pbVar18))" ( (binary_expression "(local_3c - uStack_48) - (uint)(local_40 < pbVar18)" (parenthesized_expression "(local_3c - uStack_48)" ( (binary_expression "local_3c - uStack_48" identifier - identifier) )) - (call_expression "(uint)(local_40 < pbVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_40 < pbVar18)" ( (binary_expression "local_40 < pbVar18" identifier < identifier) )))) ))) < number_literal)) )))) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;" (assignment_expression "*(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102" (pointer_expression "*(ushort *)(param_1 + 4)" * (cast_expression "(ushort *)(param_1 + 4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (binary_expression "*(ushort *)(param_1 + 4) & 0xfc00 | 0x102" (binary_expression "*(ushort *)(param_1 + 4) & 0xfc00" (pointer_expression "*(ushort *)(param_1 + 4)" * (cast_expression "(ushort *)(param_1 + 4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) & number_literal) | number_literal)) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (expression_statement "puVar11 = (ushort *)&DAT_00070f80;" (assignment_expression "puVar11 = (ushort *)&DAT_00070f80" identifier = (cast_expression "(ushort *)&DAT_00070f80" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00070f80" & identifier))) ;) (do_statement "do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));" 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 *)(&DAT_00070f80 + (int)pbVar18))" ( (binary_expression "puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18)" identifier != (cast_expression "(ushort *)(&DAT_00070f80 + (int)pbVar18)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00070f80 + (int)pbVar18)" ( (binary_expression "&DAT_00070f80 + (int)pbVar18" (pointer_expression "&DAT_00070f80" & identifier) + (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) ;) (if_statement "if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }" if (parenthesized_expression "((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18))" ( (binary_expression "(int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)" (cast_expression "(int)-uStack_48" ( (type_descriptor "int" primitive_type) ) (unary_expression "-uStack_48" - identifier)) < (cast_expression "(int)(uint)((byte *)0x13 < pbVar18)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((byte *)0x13 < pbVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte *)0x13 < pbVar18)" ( (binary_expression "(byte *)0x13 < pbVar18" (cast_expression "(byte *)0x13" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) )) (compound_statement "{\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }" { (labeled_statement "code_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;" statement_identifier : (if_statement "if (!bVar14) goto LAB_000212f6;" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;))) (expression_statement "pbVar18 = (byte *)param_1[2];" (assignment_expression "pbVar18 = (byte *)param_1[2]" identifier = (cast_expression "(byte *)param_1[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "local_40 = (byte *)param_1[3];" (assignment_expression "local_40 = (byte *)param_1[3]" identifier = (cast_expression "(byte *)param_1[3]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }" else (compound_statement "{\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\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 "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;" if (parenthesized_expression "(0x12 < (int)(pbVar18 + -1))" ( (binary_expression "0x12 < (int)(pbVar18 + -1)" number_literal < (cast_expression "(int)(pbVar18 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar18 + -1)" ( (binary_expression "pbVar18 + -1" identifier + number_literal) )))) )) (goto_statement "goto code_r0x00021c92;" goto statement_identifier ;)) (expression_statement "puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);" (assignment_expression "puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1)" identifier = (binary_expression "&DAT_00070f80 + (int)(pbVar18 + -1)" (pointer_expression "&DAT_00070f80" & identifier) + (cast_expression "(int)(pbVar18 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar18 + -1)" ( (binary_expression "pbVar18 + -1" identifier + number_literal) ))))) ;) (do_statement "do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);" do (compound_statement "{\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          }" { (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "*puVar12 = 0xffff;" (assignment_expression "*puVar12 = 0xffff" (pointer_expression "*puVar12" * identifier) = number_literal) ;) }) while (parenthesized_expression "(puVar12 != (undefined2 *)&DAT_00070fa6)" ( (binary_expression "puVar12 != (undefined2 *)&DAT_00070fa6" identifier != (cast_expression "(undefined2 *)&DAT_00070fa6" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00070fa6" & identifier))) )) ;) (if_statement "if (!bVar14) goto LAB_000212f6;" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;)) (expression_statement "pbVar18 = (byte *)0x14;" (assignment_expression "pbVar18 = (byte *)0x14" identifier = (cast_expression "(byte *)0x14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_40 = (byte *)0x0;" (assignment_expression "local_40 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "DAT_00070f80 = DAT_00070f80 + 1;" (assignment_expression "DAT_00070f80 = DAT_00070f80 + 1" identifier = (binary_expression "DAT_00070f80 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }" if (parenthesized_expression "(DAT_00070f80 == 0)" ( (binary_expression "DAT_00070f80 == 0" identifier == number_literal) )) (compound_statement "{\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }" { (expression_statement "pbVar13 = (byte *)0x1;" (assignment_expression "pbVar13 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (do_statement "do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);" do (compound_statement "{\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          }" { (if_statement "if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;" if (parenthesized_expression "((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0)" ( (binary_expression "(SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0" (parenthesized_expression "(SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18)))" ( (binary_expression "SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))" (call_expression "SBORROW4(iVar5,(int)local_40)" identifier (argument_list "(iVar5,(int)local_40)" ( identifier , (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) ))) != (call_expression "SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))" identifier (argument_list "(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))" ( (binary_expression "iVar5 - (int)local_40" identifier - (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) , (call_expression "(uint)(pbVar13 < pbVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar13 < pbVar18)" ( (binary_expression "pbVar13 < pbVar18" identifier < identifier) ))) )))) )) == (binary_expression "(int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0" (cast_expression "(int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18))" ( (binary_expression "(iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)" (parenthesized_expression "(iVar5 - (int)local_40)" ( (binary_expression "iVar5 - (int)local_40" identifier - (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(pbVar13 < pbVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar13 < pbVar18)" ( (binary_expression "pbVar13 < pbVar18" identifier < identifier) )))) ))) < number_literal)) )) (break_statement "break;" break ;)) (expression_statement "sVar1 = (&DAT_00070f80)[(int)pbVar13];" (assignment_expression "sVar1 = (&DAT_00070f80)[(int)pbVar13]" identifier = (subscript_expression "(&DAT_00070f80)[(int)pbVar13]" (parenthesized_expression "(&DAT_00070f80)" ( (pointer_expression "&DAT_00070f80" & identifier) )) [ (cast_expression "(int)pbVar13" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "(&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;" (assignment_expression "(&DAT_00070f80)[(int)pbVar13] = sVar1 + 1" (subscript_expression "(&DAT_00070f80)[(int)pbVar13]" (parenthesized_expression "(&DAT_00070f80)" ( (pointer_expression "&DAT_00070f80" & identifier) )) [ (cast_expression "(int)pbVar13" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (binary_expression "sVar1 + 1" identifier + number_literal)) ;) (expression_statement "bVar14 = (byte *)0xfffffffe < pbVar13;" (assignment_expression "bVar14 = (byte *)0xfffffffe < pbVar13" identifier = (binary_expression "(byte *)0xfffffffe < pbVar13" (cast_expression "(byte *)0xfffffffe" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier)) ;) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = iVar5 + (uint)bVar14;" (assignment_expression "iVar5 = iVar5 + (uint)bVar14" identifier = (binary_expression "iVar5 + (uint)bVar14" identifier + (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }) while (parenthesized_expression "((short)(sVar1 + 1) == 0)" ( (binary_expression "(short)(sVar1 + 1) == 0" (cast_expression "(short)(sVar1 + 1)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(sVar1 + 1)" ( (binary_expression "sVar1 + 1" identifier + number_literal) ))) == number_literal) )) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (if_statement "if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P'))" ( (binary_expression "((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')" (parenthesized_expression "((char)DAT_00068290 == '+')" ( (binary_expression "(char)DAT_00068290 == '+'" (cast_expression "(char)DAT_00068290" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'+'" ' character ')) )) || (parenthesized_expression "((char)DAT_00068290 == 'P')" ( (binary_expression "(char)DAT_00068290 == 'P'" (cast_expression "(char)DAT_00068290" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'P'" ' character ')) ))) )) (compound_statement "{\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }" { (expression_statement "bVar14 = (char)DAT_00068290 == '+';" (assignment_expression "bVar14 = (char)DAT_00068290 == '+'" identifier = (binary_expression "(char)DAT_00068290 == '+'" (cast_expression "(char)DAT_00068290" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'+'" ' character '))) ;) (expression_statement "DAT_00068290._0_1_ = 'N';" (assignment_expression "DAT_00068290._0_1_ = 'N'" (field_expression "DAT_00068290._0_1_" identifier . field_identifier) = (char_literal "'N'" ' character ')) ;) (if_statement "if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }" if (parenthesized_expression "(bVar14)" ( identifier )) (compound_statement "{\n          DAT_00068290._0_1_ = '-';\n        }" { (expression_statement "DAT_00068290._0_1_ = '-';" (assignment_expression "DAT_00068290._0_1_ = '-'" (field_expression "DAT_00068290._0_1_" identifier . field_identifier) = (char_literal "'-'" ' character ')) ;) })) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) }) (else_clause "else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }" else (compound_statement "{\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }" { (labeled_statement "code_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }" statement_identifier : (if_statement "if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(bVar3 < 2)" ( (binary_expression "bVar3 < 2" identifier < number_literal) )) (compound_statement "{\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }" { (expression_statement "pbVar18 = (byte *)(uint)bVar2;" (assignment_expression "pbVar18 = (byte *)(uint)bVar2" identifier = (cast_expression "(byte *)(uint)bVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (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_0002ab70(uVar7,(int)(char)pbVar18);" (call_expression "FUN_0002ab70(uVar7,(int)(char)pbVar18)" identifier (argument_list "(uVar7,(int)(char)pbVar18)" ( identifier , (cast_expression "(int)(char)pbVar18" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pbVar18" ( (type_descriptor "char" primitive_type) ) identifier)) ))) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) }))) (labeled_statement "code_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;" statement_identifier : (if_statement "if (bVar2 == 0x2b) goto LAB_000212f6;" if (parenthesized_expression "(bVar2 == 0x2b)" ( (binary_expression "bVar2 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;))) }))) (expression_statement "pbVar18 = (byte *)(uint)bVar2;" (assignment_expression "pbVar18 = (byte *)(uint)bVar2" identifier = (cast_expression "(byte *)(uint)bVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar5 = FUN_000202c0(param_1);" (assignment_expression "iVar5 = FUN_000202c0(param_1)" identifier = (call_expression "FUN_000202c0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "cVar16 = (char)pbVar18;" (assignment_expression "cVar16 = (char)pbVar18" identifier = (cast_expression "(char)pbVar18" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" * identifier) = identifier) ;) (if_statement "if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" if (parenthesized_expression "(cVar16 == '-')" ( (binary_expression "cVar16 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 7;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 4) = 7;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 7" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" else (if_statement "if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" if (parenthesized_expression "((cVar16 == '~') || (cVar16 == '\"'))" ( (binary_expression "(cVar16 == '~') || (cVar16 == '\"')" (parenthesized_expression "(cVar16 == '~')" ( (binary_expression "cVar16 == '~'" identifier == (char_literal "'~'" ' character ')) )) || (parenthesized_expression "(cVar16 == '\"')" ( (binary_expression "cVar16 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) ))) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 8;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 4) = 8;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 8" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" else (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 4) = 9;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 9" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }))))) (break_statement "break;" break ;)) (case_statement "default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;" default : (if_statement "if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }" if (parenthesized_expression "((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22))" ( (binary_expression "(((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)" (parenthesized_expression "(((&DAT_000683e0)[uVar4] & 2) == 0)" ( (binary_expression "((&DAT_000683e0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_000683e0)[uVar4] & 2)" ( (binary_expression "(&DAT_000683e0)[uVar4] & 2" (subscript_expression "(&DAT_000683e0)[uVar4]" (parenthesized_expression "(&DAT_000683e0)" ( (pointer_expression "&DAT_000683e0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(bVar3 != 0x22)" ( (binary_expression "bVar3 != 0x22" identifier != number_literal) ))) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 4) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 1" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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_0002ac50(uVar7);" (call_expression "FUN_0002ac50(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (goto_statement "goto LAB_000217d0;" goto statement_identifier ;)) (case_statement "case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;" case number_literal : (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar3 = pbVar13[1];" (assignment_expression "bVar3 = pbVar13[1]" identifier = (subscript_expression "pbVar13[1]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = (int)(char)bVar3;" (assignment_expression "param_1[2] = (int)(char)bVar3" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "param_1[3] = (int)(char)bVar3 >> 0x1f;" (assignment_expression "param_1[3] = (int)(char)bVar3 >> 0x1f" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (binary_expression "(int)(char)bVar3 >> 0x1f" (cast_expression "(int)(char)bVar3" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar3" ( (type_descriptor "char" primitive_type) ) identifier)) >> number_literal)) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;)) (case_statement "case 7:" case number_literal :) (case_statement "case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;" case number_literal : (expression_statement "puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);" (assignment_expression "puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2)" identifier = (cast_expression "(undefined *)FUN_00021d40(0,param_1,param_2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00021d40(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_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }" if (parenthesized_expression "(bVar3 == 0x28)" ( (binary_expression "bVar3 == 0x28" identifier == number_literal) )) (compound_statement "{\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }" { (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (if_statement "if (bVar3 == 0x29) goto code_r0x000216a2;" if (parenthesized_expression "(bVar3 == 0x29)" ( (binary_expression "bVar3 == 0x29" identifier == number_literal) )) (goto_statement "goto code_r0x000216a2;" goto statement_identifier ;)) (expression_statement "uVar7 = 0x29;" (assignment_expression "uVar7 = 0x29" identifier = number_literal) ;) }) (else_clause "else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }" else (compound_statement "{\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }" { (if_statement "if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }" if (parenthesized_expression "((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d))" ( (binary_expression "(bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)" (parenthesized_expression "(bVar3 != 0x5b)" ( (binary_expression "bVar3 != 0x5b" identifier != number_literal) )) || (parenthesized_expression "(bVar3 = *DAT_00070ff8, bVar3 == 0x5d)" ( (comma_expression "bVar3 = *DAT_00070ff8, bVar3 == 0x5d" (assignment_expression "bVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) , (binary_expression "bVar3 == 0x5d" identifier == number_literal)) ))) )) (compound_statement "{\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }" { (labeled_statement "code_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;" statement_identifier : (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;)) (goto_statement "goto code_r0x000216a7;" 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_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(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_0002ac50(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_0002ac50(uVar9,uVar7);" (call_expression "FUN_0002ac50(uVar9,uVar7)" identifier (argument_list "(uVar9,uVar7)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }" else (compound_statement "{\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(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_0002ac50(uVar9,(int)(char)bVar3,uVar7);" (call_expression "FUN_0002ac50(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_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }" statement_identifier : (if_statement "if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }" if (parenthesized_expression "(*DAT_00070ff8 == 0x20)" ( (binary_expression "*DAT_00070ff8 == 0x20" (pointer_expression "*DAT_00070ff8" * identifier) == number_literal) )) (compound_statement "{\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }" { (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (return_statement "return puVar6;" return identifier ;) }))) (return_statement "return puVar6;" return identifier ;)) (case_statement "case 0xb:\n    goto LAB_000212f0;" case number_literal : (goto_statement "goto LAB_000212f0;" goto statement_identifier ;)) (case_statement "case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;" case number_literal : (if_statement "if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }" if (parenthesized_expression "(((&DAT_000683e0)[pbVar13[1]] & 1) != 0)" ( (binary_expression "((&DAT_000683e0)[pbVar13[1]] & 1) != 0" (parenthesized_expression "((&DAT_000683e0)[pbVar13[1]] & 1)" ( (binary_expression "(&DAT_000683e0)[pbVar13[1]] & 1" (subscript_expression "(&DAT_000683e0)[pbVar13[1]]" (parenthesized_expression "(&DAT_000683e0)" ( (pointer_expression "&DAT_000683e0" & identifier) )) [ (subscript_expression "pbVar13[1]" identifier [ number_literal ]) ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }" { (expression_statement "iVar5 = strncasecmp((char *)pbVar18,"startof.",8);" (assignment_expression "iVar5 = strncasecmp((char *)pbVar18,"startof.",8)" identifier = (call_expression "strncasecmp((char *)pbVar18,"startof.",8)" identifier (argument_list "((char *)pbVar18,"startof.",8)" ( (cast_expression "(char *)pbVar18" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""startof."" " string_content ") , number_literal )))) ;) (if_statement "if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }" if (parenthesized_expression "(((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0))))" ( (binary_expression "((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))" (parenthesized_expression "((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0))" ( (binary_expression "(iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(((&DAT_000683e0)[pbVar13[9]] & 1) == 0)" ( (binary_expression "((&DAT_000683e0)[pbVar13[9]] & 1) == 0" (parenthesized_expression "((&DAT_000683e0)[pbVar13[9]] & 1)" ( (binary_expression "(&DAT_000683e0)[pbVar13[9]] & 1" (subscript_expression "(&DAT_000683e0)[pbVar13[9]]" (parenthesized_expression "(&DAT_000683e0)" ( (pointer_expression "&DAT_000683e0" & identifier) )) [ (subscript_expression "pbVar13[9]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))" ( (parenthesized_expression "(iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0))" ( (comma_expression "iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)" (assignment_expression "iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7)" identifier = (call_expression "strncasecmp((char *)pbVar18,"sizeof.",7)" identifier (argument_list "((char *)pbVar18,"sizeof.",7)" ( (cast_expression "(char *)pbVar18" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""sizeof."" " string_content ") , number_literal )))) , (binary_expression "iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)" (binary_expression "iVar5 == 0" identifier == number_literal) && (parenthesized_expression "(((&DAT_000683e0)[pbVar13[8]] & 1) == 0)" ( (binary_expression "((&DAT_000683e0)[pbVar13[8]] & 1) == 0" (parenthesized_expression "((&DAT_000683e0)[pbVar13[8]] & 1)" ( (binary_expression "(&DAT_000683e0)[pbVar13[8]] & 1" (subscript_expression "(&DAT_000683e0)[pbVar13[8]]" (parenthesized_expression "(&DAT_000683e0)" ( (pointer_expression "&DAT_000683e0" & identifier) )) [ (subscript_expression "pbVar13[8]" identifier [ number_literal ]) ]) & number_literal) )) == number_literal) )))) )) ))) )) (compound_statement "{\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }" { (expression_statement "bVar3 = pbVar13[2];" (assignment_expression "bVar3 = pbVar13[2]" identifier = (subscript_expression "pbVar13[2]" identifier [ number_literal ])) ;) (expression_statement "pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;" (assignment_expression "pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7" identifier = (binary_expression "pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7" (binary_expression "pbVar18 + ((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 (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }" if (parenthesized_expression "(*pbVar13 == 0x20)" ( (binary_expression "*pbVar13 == 0x20" (pointer_expression "*pbVar13" * identifier) == number_literal) )) (compound_statement "{\n          pbVar13 = pbVar13 + 1;\n        }" { (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) })) (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" identifier = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 4) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 1" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }" if (parenthesized_expression "(*pbVar13 == 0x28)" ( (binary_expression "*pbVar13 == 0x28" (pointer_expression "*pbVar13" * identifier) == number_literal) )) (compound_statement "{\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }" { (expression_statement "DAT_00070ff8 = pbVar13 + 1;" (assignment_expression "DAT_00070ff8 = pbVar13 + 1" identifier = (binary_expression "pbVar13 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }" if (parenthesized_expression "(pbVar13[1] == 0x20)" ( (binary_expression "pbVar13[1] == 0x20" (subscript_expression "pbVar13[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            DAT_00070ff8 = pbVar13 + 2;\n          }" { (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) })) (expression_statement "bVar2 = FUN_00021140(local_20);" (assignment_expression "bVar2 = FUN_00021140(local_20)" identifier = (call_expression "FUN_00021140(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (if_statement "if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\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            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }" { (expression_statement "pbVar18 = (byte *)(uint)bVar2;" (assignment_expression "pbVar18 = (byte *)(uint)bVar2" identifier = (cast_expression "(byte *)(uint)bVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (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_0002ac50(uVar7);" (call_expression "FUN_0002ac50(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*DAT_00070ff8 = bVar3;" (assignment_expression "*DAT_00070ff8 = bVar3" (pointer_expression "*DAT_00070ff8" * identifier) = identifier) ;) (if_statement "if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n              FUN_000202a0();\n            }" { (expression_statement "FUN_000202a0();" (call_expression "FUN_000202a0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" else (if_statement "if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" if (parenthesized_expression "(bVar3 == 0x29)" ( (binary_expression "bVar3 == 0x29" identifier == number_literal) )) (compound_statement "{\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" { (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })))) (expression_statement "FUN_0002cf40();" (call_expression "FUN_0002cf40()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000212f6;" 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 "pbVar18 = (byte *)FUN_000378b0(__ptr);" (assignment_expression "pbVar18 = (byte *)FUN_000378b0(__ptr)" identifier = (cast_expression "(byte *)FUN_000378b0(__ptr)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000378b0(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "*(undefined1 *)(param_1 + 4) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 3" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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 = (int)pbVar18;" (assignment_expression "*param_1 = (int)pbVar18" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pbVar13 = DAT_00070ff8;" (assignment_expression "pbVar13 = DAT_00070ff8" identifier = identifier) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*pbVar13 = bVar2;" (assignment_expression "*pbVar13 = bVar2" (pointer_expression "*pbVar13" * identifier) = identifier) ;) (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (if_statement "if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" { (expression_statement "bVar3 = DAT_00070ff8[1];" (assignment_expression "bVar3 = DAT_00070ff8[1]" identifier = (subscript_expression "DAT_00070ff8[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" if (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) )) (compound_statement "{\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" { (expression_statement "bVar3 = DAT_00070ff8[1];" (assignment_expression "bVar3 = DAT_00070ff8[1]" identifier = (subscript_expression "DAT_00070ff8[1]" identifier [ number_literal ])) ;) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) })) (if_statement "if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }" if (parenthesized_expression "(bVar3 == 0x29)" ( (binary_expression "bVar3 == 0x29" identifier == number_literal) )) (compound_statement "{\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }" { (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000212f6;" 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_0002ac50(uVar7);" (call_expression "FUN_0002ac50(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (goto_statement "goto LAB_000217d0;" goto statement_identifier ;) })) (if_statement "if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }" if (parenthesized_expression "(DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180)" ( (binary_expression "DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180" identifier == (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" identifier + number_literal)) )) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }" { (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar5 = DAT_00070ff0;" (assignment_expression "iVar5 = DAT_00070ff0" identifier = identifier) ;) (expression_statement "param_1[3] = DAT_00070ff4;" (assignment_expression "param_1[3] = DAT_00070ff4" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_1[2] = iVar5;" (assignment_expression "param_1[2] = iVar5" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_000212f6;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_1 + 4) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 3" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_1 = (int)&DAT_000710e0;" (assignment_expression "*param_1 = (int)&DAT_000710e0" (pointer_expression "*param_1" * identifier) = (cast_expression "(int)&DAT_000710e0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_000710e0" & identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;" case number_literal : (expression_statement "bVar3 = pbVar13[1];" (assignment_expression "bVar3 = pbVar13[1]" identifier = (subscript_expression "pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\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_0001fa80();\n      break;" case number_literal : (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;" default : (expression_statement "pbVar17 = pbVar18;" (assignment_expression "pbVar17 = pbVar18" identifier = identifier) ;) (if_statement "if (bVar3 != 0) goto code_r0x00021973;" if (parenthesized_expression "(bVar3 != 0)" ( (binary_expression "bVar3 != 0" identifier != number_literal) )) (goto_statement "goto code_r0x00021973;" goto statement_identifier ;)) (goto_statement "goto code_r0x00021916;" goto statement_identifier ;)) (case_statement "case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\n      break;" case number_literal : (if_statement "if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }" if (parenthesized_expression "((byte)(pbVar13[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar13[2] - 0x30) < 2" (call_expression "(byte)(pbVar13[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar13[2] - 0x30)" ( (binary_expression "pbVar13[2] - 0x30" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }" { (labeled_statement "code_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;" statement_identifier : (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;)) (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;) })) (labeled_statement "code_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;" statement_identifier : (expression_statement "pbVar17 = (byte *)(uint)bVar3;" (assignment_expression "pbVar17 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;)) (expression_statement "pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);" (assignment_expression "pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3)" identifier = (call_expression "strchr(PTR_DAT_00067f38,(int)(char)bVar3)" identifier (argument_list "(PTR_DAT_00067f38,(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        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\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        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }" { (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) (goto_statement "goto code_r0x00021994;" goto statement_identifier ;) })) (labeled_statement "code_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" identifier = identifier) ;) (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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;" case number_literal : (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" identifier = (binary_expression "pbVar18 + 1" identifier + number_literal)) ;) (labeled_statement "code_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;" statement_identifier : (expression_statement "pbVar17 = (byte *)(uint)bVar3;" (assignment_expression "pbVar17 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;)) (expression_statement "DAT_00070ff8 = pbVar18;" (assignment_expression "DAT_00070ff8 = pbVar18" identifier = identifier) ;) (labeled_statement "code_r0x00021994:\n      FUN_0001f9e0();" statement_identifier : (expression_statement "FUN_0001f9e0();" (call_expression "FUN_0001f9e0()" identifier (argument_list "()" ( ))) ;)) (expression_statement "bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];" (assignment_expression "bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff]" identifier = (subscript_expression "PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff]" identifier [ (binary_expression "(uint)pbVar17 & 0xff" (cast_expression "(uint)pbVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ])) ;) (expression_statement "param_1[2] = -(uint)bVar3;" (assignment_expression "param_1[2] = -(uint)bVar3" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (unary_expression "-(uint)bVar3" - (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "param_1[3] = (int)-(uint)bVar3 >> 0x1f;" (assignment_expression "param_1[3] = (int)-(uint)bVar3 >> 0x1f" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (binary_expression "(int)-(uint)bVar3 >> 0x1f" (cast_expression "(int)-(uint)bVar3" ( (type_descriptor "int" primitive_type) ) (unary_expression "-(uint)bVar3" - (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) >> number_literal)) ;) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x28:" case number_literal :) (case_statement "case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;" case number_literal : (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" identifier = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;" case number_literal : (if_statement "if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;" if (parenthesized_expression "((byte)(pbVar13[2] - 0x30) < 2)" ( (binary_expression "(byte)(pbVar13[2] - 0x30) < 2" (call_expression "(byte)(pbVar13[2] - 0x30)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pbVar13[2] - 0x30)" ( (binary_expression "pbVar13[2] - 0x30" (subscript_expression "pbVar13[2]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (goto_statement "goto code_r0x00021952;" goto statement_identifier ;)) (goto_statement "goto code_r0x000213c0;" goto statement_identifier ;)) (case_statement "case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();" case number_literal : (if_statement "if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }" if (parenthesized_expression "(((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0))" ( (binary_expression "((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)" (parenthesized_expression "((&DAT_000682e0)[pbVar13[2]] == '\0')" ( (binary_expression "(&DAT_000682e0)[pbVar13[2]] == '\0'" (subscript_expression "(&DAT_000682e0)[pbVar13[2]]" (parenthesized_expression "(&DAT_000682e0)" ( (pointer_expression "&DAT_000682e0" & identifier) )) [ (subscript_expression "pbVar13[2]" identifier [ number_literal ]) ]) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)" ( (comma_expression "pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0" (assignment_expression "pcVar8 = strchr(PTR_DAT_00067f38,0x66)" identifier = (call_expression "strchr(PTR_DAT_00067f38,0x66)" identifier (argument_list "(PTR_DAT_00067f38,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] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }" { (expression_statement "local_20[0] = pbVar13 + 2;" (assignment_expression "local_20[0] = pbVar13 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "pbVar13 + 2" identifier + number_literal)) ;) (expression_statement "FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);" (call_expression "FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280)" identifier (argument_list "(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280)" ( identifier , (string_literal ""."" " string_content ") , identifier , (pointer_expression "&PTR_DAT_00068280" & identifier) ))) ;) (expression_statement "pbVar18 = DAT_00070ff8 + 1;" (assignment_expression "pbVar18 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (if_statement "if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;" if (parenthesized_expression "((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62))))" ( (binary_expression "(local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))" (parenthesized_expression "(local_20[0] != pbVar18)" ( (binary_expression "local_20[0] != pbVar18" (subscript_expression "local_20[0]" identifier [ number_literal ]) != identifier) )) && (parenthesized_expression "((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))" ( (parenthesized_expression "(((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62))" ( (binary_expression "((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)" (parenthesized_expression "((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66))" ( (binary_expression "(local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)" (parenthesized_expression "(local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0))" ( (binary_expression "local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)" (binary_expression "local_20[0] != DAT_00070ff8 + 2" (subscript_expression "local_20[0]" identifier [ number_literal ]) != (binary_expression "DAT_00070ff8 + 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 "(*local_20[0] != 0x62)" ( (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_r0x00021a50;" goto statement_identifier ;)) (expression_statement "pbVar13 = DAT_00070ff8 + -1;" (assignment_expression "pbVar13 = DAT_00070ff8 + -1" identifier = (binary_expression "DAT_00070ff8 + -1" identifier + number_literal)) ;) (expression_statement "pbVar18 = DAT_00070ff8;" (assignment_expression "pbVar18 = DAT_00070ff8" identifier = identifier) ;) })) (labeled_statement "code_r0x000213c0:\n      DAT_00070ff8 = pbVar13;" statement_identifier : (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" identifier = identifier) ;)) (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( ))) ;)) })) (goto_statement "goto LAB_000212f6;" 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_r0x000213c0;" case number_literal : (goto_statement "goto code_r0x000213c0;" goto statement_identifier ;)) (case_statement "case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;" case number_literal : (if_statement "if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }" if (parenthesized_expression "(((&DAT_000683e0)[uVar4] & 2) == 0)" ( (binary_expression "((&DAT_000683e0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_000683e0)[uVar4] & 2)" ( (binary_expression "(&DAT_000683e0)[uVar4] & 2" (subscript_expression "(&DAT_000683e0)[uVar4]" (parenthesized_expression "(&DAT_000683e0)" ( (pointer_expression "&DAT_000683e0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }" { (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "FUN_00021270();" (call_expression "FUN_00021270()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar3 = *(byte *)(param_1 + 4);" (assignment_expression "bVar3 = *(byte *)(param_1 + 4)" identifier = (pointer_expression "*(byte *)(param_1 + 4)" * (cast_expression "(byte *)(param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = (byte)pbVar18;" (assignment_expression "bVar2 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }" if (parenthesized_expression "(bVar3 != 2)" ( (binary_expression "bVar3 != 2" identifier != number_literal) )) (compound_statement "{\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }" { (if_statement "if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }" if (parenthesized_expression "(bVar3 == 6)" ( (binary_expression "bVar3 == 6" identifier == number_literal) )) (compound_statement "{\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }" { (expression_statement "pbVar18 = (byte *)param_1[2];" (assignment_expression "pbVar18 = (byte *)param_1[2]" identifier = (cast_expression "(byte *)param_1[2]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "uStack_48 = param_1[3];" (assignment_expression "uStack_48 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (goto_statement "goto code_r0x00021597;" goto statement_identifier ;) })) (goto_statement "goto code_r0x000216f4;" goto statement_identifier ;) })) (goto_statement "goto code_r0x00021aea;" goto statement_identifier ;) })) (labeled_statement "LAB_000217d0:\n    DAT_00070ff8 = pbVar13;" statement_identifier : (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" identifier = identifier) ;)) (expression_statement "bVar3 = FUN_00021140(local_20);" (assignment_expression "bVar3 = FUN_00021140(local_20)" identifier = (call_expression "FUN_00021140(local_20)" identifier (argument_list "(local_20)" ( identifier )))) ;) (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "iVar5 = FUN_000393d0(local_20[0]);" (assignment_expression "iVar5 = FUN_000393d0(local_20[0])" identifier = (call_expression "FUN_000393d0(local_20[0])" identifier (argument_list "(local_20[0])" ( (subscript_expression "local_20[0]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar6 = (undefined *)FUN_000374b0(iVar5);" (assignment_expression "puVar6 = (undefined *)FUN_000374b0(iVar5)" identifier = (cast_expression "(undefined *)FUN_000374b0(iVar5)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000374b0(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))))) ;) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }" if (parenthesized_expression "(param_2 == 2)" ( (binary_expression "param_2 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }" { (labeled_statement "LAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;" statement_identifier : (expression_statement "*(undefined1 *)(param_1 + 4) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 3" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" 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) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }" else (compound_statement "{\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }" { (if_statement "if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }" if (parenthesized_expression "(puVar6 == PTR__bfd_std_section_00067fa4 + 0x180)" ( (binary_expression "puVar6 == PTR__bfd_std_section_00067fa4 + 0x180" identifier == (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" identifier + number_literal)) )) (compound_statement "{\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }" { (expression_statement "iVar10 = FUN_00037110(iVar5,0);" (assignment_expression "iVar10 = FUN_00037110(iVar5,0)" identifier = (call_expression "FUN_00037110(iVar5,0)" identifier (argument_list "(iVar5,0)" ( identifier , number_literal )))) ;) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (iVar10 != 0) goto LAB_0002181a;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002181a;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }" else (compound_statement "{\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }" { (labeled_statement "LAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;" statement_identifier : (if_statement "if (DAT_00070e90 != puVar6) goto LAB_00021828;" if (parenthesized_expression "(DAT_00070e90 != puVar6)" ( (binary_expression "DAT_00070e90 != puVar6" identifier != identifier) )) (goto_statement "goto LAB_00021828;" goto statement_identifier ;))) (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" identifier = (cast_expression "(byte *)(uint)bVar3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(undefined1 *)(param_1 + 4) = 5;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 5" (pointer_expression "*(undefined1 *)(param_1 + 4)" * (cast_expression "(undefined1 *)(param_1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "uVar15 = FUN_00038db0(iVar5);" (assignment_expression "uVar15 = FUN_00038db0(iVar5)" identifier = (call_expression "FUN_00038db0(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" identifier = (cast_expression "(byte)pbVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(undefined8 *)(param_1 + 2) = uVar15;" (assignment_expression "*(undefined8 *)(param_1 + 2) = uVar15" (pointer_expression "*(undefined8 *)(param_1 + 2)" * (cast_expression "(undefined8 *)(param_1 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "*DAT_00070ff8 = bVar3;" (assignment_expression "*DAT_00070ff8 = bVar3" (pointer_expression "*DAT_00070ff8" * identifier) = identifier) ;) (if_statement "if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }" if (parenthesized_expression "(bVar3 == 0x22)" ( (binary_expression "bVar3 == 0x22" identifier == number_literal) )) (compound_statement "{\n      FUN_000202a0();\n    }" { (expression_statement "FUN_000202a0();" (call_expression "FUN_000202a0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_000212f6;" 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) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_000212f6:\n  FUN_0001f9a0(pbVar18);" statement_identifier : (expression_statement "FUN_0001f9a0(pbVar18);" (call_expression "FUN_0001f9a0(pbVar18)" identifier (argument_list "(pbVar18)" ( identifier ))) ;)) (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) (while_statement "while (bVar3 == 0x20) {\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }" while (parenthesized_expression "(bVar3 == 0x20)" ( (binary_expression "bVar3 == 0x20" identifier == number_literal) )) (compound_statement "{\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }" { (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" identifier = (binary_expression "DAT_00070ff8 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" identifier = (pointer_expression "*DAT_00070ff8" * identifier)) ;) })) (if_statement "if (*param_1 != 0) {\n    FUN_0003a250(*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_0003a250(*param_1);\n  }" { (expression_statement "FUN_0003a250(*param_1);" (call_expression "FUN_0003a250(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))) ;) })) (if_statement "if (param_2 != 2) {\n    iVar5 = FUN_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(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_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(param_1[1],0);\n    param_1[1] = iVar5;\n  }" { (expression_statement "iVar5 = FUN_00039a90(*param_1,0);" (assignment_expression "iVar5 = FUN_00039a90(*param_1,0)" identifier = (call_expression "FUN_00039a90(*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_00039a90(param_1[1],0);" (assignment_expression "iVar5 = FUN_00039a90(param_1[1],0)" identifier = (call_expression "FUN_00039a90(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[4] == '\x03') {\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }" if (parenthesized_expression "((char)param_1[4] == '\x03')" ( (binary_expression "(char)param_1[4] == '\x03'" (cast_expression "(char)param_1[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }" { (expression_statement "puVar6 = (undefined *)FUN_000374b0(*param_1);" (assignment_expression "puVar6 = (undefined *)FUN_000374b0(*param_1)" identifier = (cast_expression "(undefined *)FUN_000374b0(*param_1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000374b0(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) ))))) ;) (return_statement "return puVar6;" return identifier ;) })) (if_statement "if ((char)param_1[4] != '\x05') {\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }" if (parenthesized_expression "((char)param_1[4] != '\x05')" ( (binary_expression "(char)param_1[4] != '\x05'" (cast_expression "(char)param_1[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }" { (return_statement "return PTR__bfd_std_section_00067fa4 + 0x180;" return (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" identifier + number_literal) ;) })) (return_statement "return DAT_00070e90;" 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) 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 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 (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 = (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 ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression - IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_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 IDENT & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (binary_expression IDENT == LIT)) )))) ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (unary_expression ~ (subscript_expression IDENT [ LIT ]))) ;)) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (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 < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) | IDENT) )))) )) || (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) <= (cast_expression ( (type_descriptor TYPE) ) (unary_expression - IDENT))) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (compound_statement { (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (binary_expression IDENT == IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) * LIT)) )))) == LIT) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) != (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) < LIT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 ;) })) (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 (pointer_expression & IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (unary_expression - IDENT)) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) ))))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (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) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) != (call_expression IDENT (argument_list ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))) < LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) == LIT) )) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' character ')) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' character '))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (char_literal ' character ')) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (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 == (char_literal ' character ')) )) || (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (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) ;) (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 IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 : (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (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) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) >> LIT)) ;) (expression_statement (assignment_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) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) && (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 ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) != LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) 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 ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) 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 IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (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_00021270(int *param_1,int param_2)" (binary_expression "undefined * __regparm3 FUN_00021270(int *param_1,int param_2)" (identifier "undefined") (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (call_expression "FUN_00021270(int *param_1,int param_2)" (identifier "FUN_00021270") (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 sVar1;\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  byte *pbVar13;\n  bool bVar14;\n  undefined8 uVar15;\n  char cVar16;\n  byte *pbVar17;\n  byte *pbVar18;\n  uint uStack_48;\n  byte *local_40;\n  uint local_3c;\n  byte *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2127b;\n  *(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1;\n  pbVar13 = DAT_00070ff8;\n  pbVar18 = DAT_00070ff8 + 1;\n  if (*DAT_00070ff8 == 0x20) {\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }\n  bVar3 = *pbVar13;\n  uVar4 = (uint)bVar3;\n  if ((&DAT_000682e0)[uVar4] != '\0') {\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }\n  DAT_00070ff8 = pbVar18;\n  switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\n  }\n  param_1[2] = 0;\n  param_1[3] = 0;\nLAB_000212f6:\n  FUN_0001f9a0(pbVar18);\n  bVar3 = *DAT_00070ff8;\n  while (bVar3 == 0x20) {\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }\n  if (*param_1 != 0) {\n    FUN_0003a250(*param_1);\n  }\n  if (param_2 != 2) {\n    iVar5 = FUN_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(param_1[1],0);\n    param_1[1] = iVar5;\n  }\n  if ((char)param_1[4] == '\x03') {\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }\n  if ((char)param_1[4] != '\x05') {\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }\n  return DAT_00070e90;\n}" ({ "{") (declaration "short sVar1;" (sized_type_specifier "short" (short "short")) (identifier "sVar1") (; ";")) (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 "byte *pbVar13;" (type_identifier "byte") (pointer_declarator "*pbVar13" (* "*") (identifier "pbVar13")) (; ";")) (declaration "bool bVar14;" (primitive_type "bool") (identifier "bVar14") (; ";")) (declaration "undefined8 uVar15;" (type_identifier "undefined8") (identifier "uVar15") (; ";")) (declaration "char cVar16;" (primitive_type "char") (identifier "cVar16") (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "uint uStack_48;" (type_identifier "uint") (identifier "uStack_48") (; ";")) (declaration "byte *local_40;" (type_identifier "byte") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (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 = 0x2127b;" (assignment_expression "uStack_14 = 0x2127b" (identifier "uStack_14") (= "=") (number_literal "0x2127b")) (; ";")) (expression_statement "*(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1;" (assignment_expression "*(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1" (pointer_expression "*(byte *)((int)param_1 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x11)" (( "(") (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "*(byte *)((int)param_1 + 0x11) & 0xfc | 1" (binary_expression "*(byte *)((int)param_1 + 0x11) & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x11)" (( "(") (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x11")) () ")")))) (& "&") (number_literal "0xfc")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "pbVar13 = DAT_00070ff8;" (assignment_expression "pbVar13 = DAT_00070ff8" (identifier "pbVar13") (= "=") (identifier "DAT_00070ff8")) (; ";")) (expression_statement "pbVar18 = DAT_00070ff8 + 1;" (assignment_expression "pbVar18 = DAT_00070ff8 + 1" (identifier "pbVar18") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*DAT_00070ff8 == 0x20) {\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }" (if "if") (parenthesized_expression "(*DAT_00070ff8 == 0x20)" (( "(") (binary_expression "*DAT_00070ff8 == 0x20" (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    pbVar18 = DAT_00070ff8 + 2;\n    pbVar13 = DAT_00070ff8 + 1;\n  }" ({ "{") (expression_statement "pbVar18 = DAT_00070ff8 + 2;" (assignment_expression "pbVar18 = DAT_00070ff8 + 2" (identifier "pbVar18") (= "=") (binary_expression "DAT_00070ff8 + 2" (identifier "DAT_00070ff8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pbVar13 = DAT_00070ff8 + 1;" (assignment_expression "pbVar13 = DAT_00070ff8 + 1" (identifier "pbVar13") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "bVar3 = *pbVar13;" (assignment_expression "bVar3 = *pbVar13" (identifier "bVar3") (= "=") (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13"))) (; ";")) (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_000682e0)[uVar4] != '\0') {\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }" (if "if") (parenthesized_expression "((&DAT_000682e0)[uVar4] != '\0')" (( "(") (binary_expression "(&DAT_000682e0)[uVar4] != '\0'" (subscript_expression "(&DAT_000682e0)[uVar4]" (parenthesized_expression "(&DAT_000682e0)" (( "(") (pointer_expression "&DAT_000682e0" (& "&") (identifier "DAT_000682e0")) () ")")) ([ "[") (identifier "uVar4") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;\n    DAT_00070ff8 = pbVar13;\n    goto LAB_000212f6;\n  }" ({ "{") (labeled_statement "LAB_000212f0:\n    *(undefined1 *)(param_1 + 4) = 1;" (statement_identifier "LAB_000212f0") (: ":") (expression_statement "*(undefined1 *)(param_1 + 4) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 1" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" (identifier "DAT_00070ff8") (= "=") (identifier "pbVar13")) (; ";")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (expression_statement "DAT_00070ff8 = pbVar18;" (assignment_expression "DAT_00070ff8 = pbVar18" (identifier "DAT_00070ff8") (= "=") (identifier "pbVar18")) (; ";")) (switch_statement "switch(uVar4 - 0x21 & 0xff) {\n  case 0:\n  case 10:\n  case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\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    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;\n  default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;\n  case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;\n  case 7:\n  case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;\n  case 0xb:\n    goto LAB_000212f0;\n  case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;\n  case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;\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_r0x000213c0;\n  case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;\n  }" ({ "{") (case_statement "case 0:" (case "case") (number_literal "0") (: ":")) (case_statement "case 10:" (case "case") (number_literal "10") (: ":")) (case_statement "case 0xc:\n    pbVar18 = (byte *)(uint)bVar3;\n    FUN_00021270();\n    bVar3 = *(byte *)(param_1 + 4);\n    bVar2 = (byte)pbVar18;\n    if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }\n    if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }\n    pbVar18 = (byte *)(uint)bVar2;\n    iVar5 = FUN_000202c0(param_1);\n    cVar16 = (char)pbVar18;\n    *param_1 = iVar5;\n    if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }\n    break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" (identifier "pbVar18") (= "=") (cast_expression "(byte *)(uint)bVar3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")))) (; ";")) (expression_statement "FUN_00021270();" (call_expression "FUN_00021270()" (identifier "FUN_00021270") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar3 = *(byte *)(param_1 + 4);" (assignment_expression "bVar3 = *(byte *)(param_1 + 4)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(param_1 + 4)" (* "*") (cast_expression "(byte *)(param_1 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "bVar2 = (byte)pbVar18;" (assignment_expression "bVar2 = (byte)pbVar18" (identifier "bVar2") (= "=") (cast_expression "(byte)pbVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pbVar18"))) (; ";")) (if_statement "if (bVar3 == 2) {\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }" (if "if") (parenthesized_expression "(bVar3 == 2)" (( "(") (binary_expression "bVar3 == 2" (identifier "bVar3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }\n      if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }\ncode_r0x00021aea:\n      param_1[2] = ~param_1[2];\n      param_1[3] = ~param_1[3];\n      goto LAB_000212f6;\n    }" ({ "{") (if_statement "if (bVar2 == 0x2d) {\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\n      }" (if "if") (parenthesized_expression "(bVar2 == 0x2d)" (( "(") (binary_expression "bVar2 == 0x2d" (identifier "bVar2") (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\n        iVar5 = param_1[2];\n        bVar3 = *(byte *)((int)param_1 + 0x11);\n        pbVar18 = (byte *)-iVar5;\n        param_1[2] = (int)pbVar18;\n        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));\n        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;\n        param_1[3] = iVar5;\n        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }\n        goto LAB_000212f6;\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 "bVar3 = *(byte *)((int)param_1 + 0x11);" (assignment_expression "bVar3 = *(byte *)((int)param_1 + 0x11)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)((int)param_1 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x11)" (( "(") (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "pbVar18 = (byte *)-iVar5;" (assignment_expression "pbVar18 = (byte *)-iVar5" (identifier "pbVar18") (= "=") (cast_expression "(byte *)-iVar5" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (unary_expression "-iVar5" (- "-") (identifier "iVar5")))) (; ";")) (expression_statement "param_1[2] = (int)pbVar18;" (assignment_expression "param_1[2] = (int)pbVar18" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar18"))) (; ";")) (expression_statement "iVar5 = -(param_1[3] + (uint)(iVar5 != 0));" (assignment_expression "iVar5 = -(param_1[3] + (uint)(iVar5 != 0))" (identifier "iVar5") (= "=") (unary_expression "-(param_1[3] + (uint)(iVar5 != 0))" (- "-") (parenthesized_expression "(param_1[3] + (uint)(iVar5 != 0))" (( "(") (binary_expression "param_1[3] + (uint)(iVar5 != 0)" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (+ "+") (call_expression "(uint)(iVar5 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")))) () ")")))) (; ";")) (expression_statement "*(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;" (assignment_expression "*(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe" (pointer_expression "*(byte *)((int)param_1 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x11)" (( "(") (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "bVar3 & 0xfe" (identifier "bVar3") (& "&") (number_literal "0xfe"))) (; ";")) (expression_statement "param_1[3] = iVar5;" (assignment_expression "param_1[3] = iVar5" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (iVar5 != 0 || pbVar18 != (byte *)0x0) {\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" (if "if") (parenthesized_expression "(iVar5 != 0 || pbVar18 != (byte *)0x0)" (( "(") (binary_expression "iVar5 != 0 || pbVar18 != (byte *)0x0" (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "pbVar18 != (byte *)0x0" (identifier "pbVar18") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;\n        }" ({ "{") (expression_statement "*(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;" (assignment_expression "*(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc" (pointer_expression "*(byte *)((int)param_1 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x11)" (( "(") (binary_expression "(int)param_1 + 0x11" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (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_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (if_statement "if (bVar2 != 0x22) {\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }" (if "if") (parenthesized_expression "(bVar2 != 0x22)" (( "(") (binary_expression "bVar2 != 0x22" (identifier "bVar2") (!= "!=") (number_literal "0x22")) () ")")) (compound_statement "{\n        if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }\n        goto LAB_000212f6;\n      }" ({ "{") (if_statement "if (bVar2 == 0x21) {\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }" (if "if") (parenthesized_expression "(bVar2 == 0x21)" (( "(") (binary_expression "bVar2 == 0x21" (identifier "bVar2") (== "==") (number_literal "0x21")) () ")")) (compound_statement "{\n          iVar5 = param_1[3];\n          param_1[3] = 0;\n          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);\n        }" ({ "{") (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" (identifier "iVar5") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);" (assignment_expression "param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0)" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (call_expression "(uint)(param_1[2] == 0 && iVar5 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1[2] == 0 && iVar5 == 0)" (( "(") (binary_expression "param_1[2] == 0 && iVar5 == 0" (binary_expression "param_1[2] == 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0"))) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (labeled_statement "code_r0x00021aea:\n      param_1[2] = ~param_1[2];" (statement_identifier "code_r0x00021aea") (: ":") (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") (] "]")))) (; ";"))) (expression_statement "param_1[3] = ~param_1[3];" (assignment_expression "param_1[3] = ~param_1[3]" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (unary_expression "~param_1[3]" (~ "~") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (if_statement "if (bVar3 == 6) {\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }\n    else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }" (if "if") (parenthesized_expression "(bVar3 == 6)" (( "(") (binary_expression "bVar3 == 6" (identifier "bVar3") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n      pbVar18 = (byte *)param_1[2];\n      bVar14 = bVar2 == 0x2d;\n      uStack_48 = param_1[3];\n      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }\n      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }\n    }" ({ "{") (expression_statement "pbVar18 = (byte *)param_1[2];" (assignment_expression "pbVar18 = (byte *)param_1[2]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)param_1[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "bVar14 = bVar2 == 0x2d;" (assignment_expression "bVar14 = bVar2 == 0x2d" (identifier "bVar14") (= "=") (binary_expression "bVar2 == 0x2d" (identifier "bVar2") (== "==") (number_literal "0x2d"))) (; ";")) (expression_statement "uStack_48 = param_1[3];" (assignment_expression "uStack_48 = param_1[3]" (identifier "uStack_48") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }" (if "if") (parenthesized_expression "((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14))" (( "(") (binary_expression "(-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)" (parenthesized_expression "(-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48))" (( "(") (binary_expression "-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)" (number_literal "-1") (< "<") (cast_expression "(int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)" (( "(") (binary_expression "(uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48" (binary_expression "(uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0)" (parenthesized_expression "(uStack_48 - 1)" (( "(") (binary_expression "uStack_48 - 1" (identifier "uStack_48") (- "-") (number_literal "1")) () ")")) (+ "+") (call_expression "(uint)(pbVar18 != (byte *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar18 != (byte *)0x0)" (( "(") (binary_expression "pbVar18 != (byte *)0x0" (identifier "pbVar18") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")))) (| "|") (identifier "uStack_48")) () ")")))) () ")")) (|| "||") (parenthesized_expression "(!bVar14)" (( "(") (unary_expression "!bVar14" (! "!") (identifier "bVar14")) () ")"))) () ")")) (compound_statement "{\ncode_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;\n        if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }\n        puVar11 = (ushort *)&DAT_00070f80;\n        do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));\n        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }\n        DAT_00070f80 = DAT_00070f80 + 1;\n        if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }\n        goto LAB_000212f6;\n      }" ({ "{") (labeled_statement "code_r0x00021597:\n        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;" (statement_identifier "code_r0x00021597") (: ":") (if_statement "if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;" (if "if") (parenthesized_expression "((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48)" (( "(") (binary_expression "(int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48" (cast_expression "(int)(uint)(pbVar18 != (byte *)0x0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(pbVar18 != (byte *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar18 != (byte *)0x0)" (( "(") (binary_expression "pbVar18 != (byte *)0x0" (identifier "pbVar18") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")))) (<= "<=") (cast_expression "(int)-uStack_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (unary_expression "-uStack_48" (- "-") (identifier "uStack_48")))) () ")")) (goto_statement "goto code_r0x000216fc;" (goto "goto") (statement_identifier "code_r0x000216fc") (; ";")))) (if_statement "if ((bVar2 != 0x7e) && (!bVar14)) {\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }" (if "if") (parenthesized_expression "((bVar2 != 0x7e) && (!bVar14))" (( "(") (binary_expression "(bVar2 != 0x7e) && (!bVar14)" (parenthesized_expression "(bVar2 != 0x7e)" (( "(") (binary_expression "bVar2 != 0x7e" (identifier "bVar2") (!= "!=") (number_literal "0x7e")) () ")")) (&& "&&") (parenthesized_expression "(!bVar14)" (( "(") (unary_expression "!bVar14" (! "!") (identifier "bVar14")) () ")"))) () ")")) (compound_statement "{\n          if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }\n          goto LAB_000212f6;\n        }" ({ "{") (if_statement "if (bVar2 == 0x21) {\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }" (if "if") (parenthesized_expression "(bVar2 == 0x21)" (( "(") (binary_expression "bVar2 == 0x21" (identifier "bVar2") (== "==") (number_literal "0x21")) () ")")) (compound_statement "{\n            if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }\n            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);\n            param_1[3] = 0;\n            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;\n          }" ({ "{") (if_statement "if (DAT_00070f80 == 0) {\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }\n            else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }" (if "if") (parenthesized_expression "(DAT_00070f80 == 0)" (( "(") (binary_expression "DAT_00070f80 == 0" (identifier "DAT_00070f80") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar4 = 0;\n              pbVar13 = (byte *)0x1;\n              do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);\n            }" ({ "{") (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" (identifier "uVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar13 = (byte *)0x1;" (assignment_expression "pbVar13 = (byte *)0x1" (identifier "pbVar13") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (do_statement "do {\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);" (do "do") (compound_statement "{\n                local_40 = pbVar13;\n                local_3c = uVar4;\n                if (uStack_48 == local_3c && pbVar18 == local_40) break;\n                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);\n                pbVar13 = local_40 + 1;\n              }" ({ "{") (expression_statement "local_40 = pbVar13;" (assignment_expression "local_40 = pbVar13" (identifier "local_40") (= "=") (identifier "pbVar13")) (; ";")) (expression_statement "local_3c = uVar4;" (assignment_expression "local_3c = uVar4" (identifier "local_3c") (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (uStack_48 == local_3c && pbVar18 == local_40) break;" (if "if") (parenthesized_expression "(uStack_48 == local_3c && pbVar18 == local_40)" (( "(") (binary_expression "uStack_48 == local_3c && pbVar18 == local_40" (binary_expression "uStack_48 == local_3c" (identifier "uStack_48") (== "==") (identifier "local_3c")) (&& "&&") (binary_expression "pbVar18 == local_40" (identifier "pbVar18") (== "==") (identifier "local_40"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar4 = local_3c + ((byte *)0xfffffffe < local_40);" (assignment_expression "uVar4 = local_3c + ((byte *)0xfffffffe < local_40)" (identifier "uVar4") (= "=") (binary_expression "local_3c + ((byte *)0xfffffffe < local_40)" (identifier "local_3c") (+ "+") (parenthesized_expression "((byte *)0xfffffffe < local_40)" (( "(") (binary_expression "(byte *)0xfffffffe < local_40" (cast_expression "(byte *)0xfffffffe" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffe")) (< "<") (identifier "local_40")) () ")")))) (; ";")) (expression_statement "pbVar13 = local_40 + 1;" (assignment_expression "pbVar13 = local_40 + 1" (identifier "pbVar13") (= "=") (binary_expression "local_40 + 1" (identifier "local_40") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0)" (( "(") (binary_expression "*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0" (pointer_expression "*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2)" (* "*") (cast_expression "(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00070f7e + (int)(local_40 + 1) * 2)" (( "(") (binary_expression "&DAT_00070f7e + (int)(local_40 + 1) * 2" (pointer_expression "&DAT_00070f7e" (& "&") (identifier "DAT_00070f7e")) (+ "+") (binary_expression "(int)(local_40 + 1) * 2" (cast_expression "(int)(local_40 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_40 + 1)" (( "(") (binary_expression "local_40 + 1" (identifier "local_40") (+ "+") (number_literal "1")) () ")"))) (* "*") (number_literal "2"))) () ")")))) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}")) (else_clause "else {\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }" (else "else") (compound_statement "{\n              local_40 = (byte *)0x0;\n              local_3c = 0;\n            }" ({ "{") (expression_statement "local_40 = (byte *)0x0;" (assignment_expression "local_40 = (byte *)0x0" (identifier "local_40") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);" (assignment_expression "param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0)" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (call_expression "(uint)((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0)" (( "(") (binary_expression "(SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==\n                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0" (parenthesized_expression "(SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18)))" (( "(") (binary_expression "SBORROW4(local_3c,uStack_48) !=\n                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))" (call_expression "SBORROW4(local_3c,uStack_48)" (identifier "SBORROW4") (argument_list "(local_3c,uStack_48)" (( "(") (identifier "local_3c") (, ",") (identifier "uStack_48") () ")"))) (!= "!=") (call_expression "SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))" (identifier "SBORROW4") (argument_list "(local_3c - uStack_48,(uint)(local_40 < pbVar18))" (( "(") (binary_expression "local_3c - uStack_48" (identifier "local_3c") (- "-") (identifier "uStack_48")) (, ",") (call_expression "(uint)(local_40 < pbVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_40 < pbVar18)" (( "(") (binary_expression "local_40 < pbVar18" (identifier "local_40") (< "<") (identifier "pbVar18")) () ")"))) () ")")))) () ")")) (== "==") (binary_expression "(int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0" (cast_expression "(int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((local_3c - uStack_48) - (uint)(local_40 < pbVar18))" (( "(") (binary_expression "(local_3c - uStack_48) - (uint)(local_40 < pbVar18)" (parenthesized_expression "(local_3c - uStack_48)" (( "(") (binary_expression "local_3c - uStack_48" (identifier "local_3c") (- "-") (identifier "uStack_48")) () ")")) (- "-") (call_expression "(uint)(local_40 < pbVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_40 < pbVar18)" (( "(") (binary_expression "local_40 < pbVar18" (identifier "local_40") (< "<") (identifier "pbVar18")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")))) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;" (assignment_expression "*(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102" (pointer_expression "*(ushort *)(param_1 + 4)" (* "*") (cast_expression "(ushort *)(param_1 + 4)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(ushort *)(param_1 + 4) & 0xfc00 | 0x102" (binary_expression "*(ushort *)(param_1 + 4) & 0xfc00" (pointer_expression "*(ushort *)(param_1 + 4)" (* "*") (cast_expression "(ushort *)(param_1 + 4)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xfc00")) (| "|") (number_literal "0x102"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (expression_statement "puVar11 = (ushort *)&DAT_00070f80;" (assignment_expression "puVar11 = (ushort *)&DAT_00070f80" (identifier "puVar11") (= "=") (cast_expression "(ushort *)&DAT_00070f80" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00070f80" (& "&") (identifier "DAT_00070f80")))) (; ";")) (do_statement "do {\n          *puVar11 = ~*puVar11;\n          puVar11 = puVar11 + 1;\n        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));" (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 *)(&DAT_00070f80 + (int)pbVar18))" (( "(") (binary_expression "puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18)" (identifier "puVar11") (!= "!=") (cast_expression "(ushort *)(&DAT_00070f80 + (int)pbVar18)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00070f80 + (int)pbVar18)" (( "(") (binary_expression "&DAT_00070f80 + (int)pbVar18" (pointer_expression "&DAT_00070f80" (& "&") (identifier "DAT_00070f80")) (+ "+") (cast_expression "(int)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar18"))) () ")")))) () ")")) (; ";")) (if_statement "if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }\n        else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }" (if "if") (parenthesized_expression "((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18))" (( "(") (binary_expression "(int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)" (cast_expression "(int)-uStack_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (unary_expression "-uStack_48" (- "-") (identifier "uStack_48"))) (< "<") (cast_expression "(int)(uint)((byte *)0x13 < pbVar18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)((byte *)0x13 < pbVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((byte *)0x13 < pbVar18)" (( "(") (binary_expression "(byte *)0x13 < pbVar18" (cast_expression "(byte *)0x13" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x13")) (< "<") (identifier "pbVar18")) () ")"))))) () ")")) (compound_statement "{\ncode_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)param_1[2];\n          local_40 = (byte *)param_1[3];\n        }" ({ "{") (labeled_statement "code_r0x00021c92:\n          if (!bVar14) goto LAB_000212f6;" (statement_identifier "code_r0x00021c92") (: ":") (if_statement "if (!bVar14) goto LAB_000212f6;" (if "if") (parenthesized_expression "(!bVar14)" (( "(") (unary_expression "!bVar14" (! "!") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")))) (expression_statement "pbVar18 = (byte *)param_1[2];" (assignment_expression "pbVar18 = (byte *)param_1[2]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)param_1[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "local_40 = (byte *)param_1[3];" (assignment_expression "local_40 = (byte *)param_1[3]" (identifier "local_40") (= "=") (cast_expression "(byte *)param_1[3]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\n        }" (else "else") (compound_statement "{\n          param_1[2] = 0x14;\n          param_1[3] = 0;\n          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;\n          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);\n          do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);\n          if (!bVar14) goto LAB_000212f6;\n          pbVar18 = (byte *)0x14;\n          local_40 = (byte *)0x0;\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 "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;" (if "if") (parenthesized_expression "(0x12 < (int)(pbVar18 + -1))" (( "(") (binary_expression "0x12 < (int)(pbVar18 + -1)" (number_literal "0x12") (< "<") (cast_expression "(int)(pbVar18 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar18 + -1)" (( "(") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1")) () ")")))) () ")")) (goto_statement "goto code_r0x00021c92;" (goto "goto") (statement_identifier "code_r0x00021c92") (; ";"))) (expression_statement "puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);" (assignment_expression "puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1)" (identifier "puVar12") (= "=") (binary_expression "&DAT_00070f80 + (int)(pbVar18 + -1)" (pointer_expression "&DAT_00070f80" (& "&") (identifier "DAT_00070f80")) (+ "+") (cast_expression "(int)(pbVar18 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar18 + -1)" (( "(") (binary_expression "pbVar18 + -1" (identifier "pbVar18") (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (do_statement "do {\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          } while (puVar12 != (undefined2 *)&DAT_00070fa6);" (do "do") (compound_statement "{\n            puVar12 = puVar12 + 1;\n            *puVar12 = 0xffff;\n          }" ({ "{") (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" (identifier "puVar12") (= "=") (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")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar12 != (undefined2 *)&DAT_00070fa6)" (( "(") (binary_expression "puVar12 != (undefined2 *)&DAT_00070fa6" (identifier "puVar12") (!= "!=") (cast_expression "(undefined2 *)&DAT_00070fa6" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00070fa6" (& "&") (identifier "DAT_00070fa6")))) () ")")) (; ";")) (if_statement "if (!bVar14) goto LAB_000212f6;" (if "if") (parenthesized_expression "(!bVar14)" (( "(") (unary_expression "!bVar14" (! "!") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";"))) (expression_statement "pbVar18 = (byte *)0x14;" (assignment_expression "pbVar18 = (byte *)0x14" (identifier "pbVar18") (= "=") (cast_expression "(byte *)0x14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x14"))) (; ";")) (expression_statement "local_40 = (byte *)0x0;" (assignment_expression "local_40 = (byte *)0x0" (identifier "local_40") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "DAT_00070f80 = DAT_00070f80 + 1;" (assignment_expression "DAT_00070f80 = DAT_00070f80 + 1" (identifier "DAT_00070f80") (= "=") (binary_expression "DAT_00070f80 + 1" (identifier "DAT_00070f80") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (DAT_00070f80 == 0) {\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }" (if "if") (parenthesized_expression "(DAT_00070f80 == 0)" (( "(") (binary_expression "DAT_00070f80 == 0" (identifier "DAT_00070f80") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pbVar13 = (byte *)0x1;\n          iVar5 = 0;\n          do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);\n        }" ({ "{") (expression_statement "pbVar13 = (byte *)0x1;" (assignment_expression "pbVar13 = (byte *)0x1" (identifier "pbVar13") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          } while ((short)(sVar1 + 1) == 0);" (do "do") (compound_statement "{\n            if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;\n            sVar1 = (&DAT_00070f80)[(int)pbVar13];\n            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;\n            bVar14 = (byte *)0xfffffffe < pbVar13;\n            pbVar13 = pbVar13 + 1;\n            iVar5 = iVar5 + (uint)bVar14;\n          }" ({ "{") (if_statement "if ((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;" (if "if") (parenthesized_expression "((SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0)" (( "(") (binary_expression "(SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==\n                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0" (parenthesized_expression "(SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18)))" (( "(") (binary_expression "SBORROW4(iVar5,(int)local_40) !=\n                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))" (call_expression "SBORROW4(iVar5,(int)local_40)" (identifier "SBORROW4") (argument_list "(iVar5,(int)local_40)" (( "(") (identifier "iVar5") (, ",") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40")) () ")"))) (!= "!=") (call_expression "SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))" (identifier "SBORROW4") (argument_list "(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))" (( "(") (binary_expression "iVar5 - (int)local_40" (identifier "iVar5") (- "-") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))) (, ",") (call_expression "(uint)(pbVar13 < pbVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar13 < pbVar18)" (( "(") (binary_expression "pbVar13 < pbVar18" (identifier "pbVar13") (< "<") (identifier "pbVar18")) () ")"))) () ")")))) () ")")) (== "==") (binary_expression "(int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0" (cast_expression "(int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18))" (( "(") (binary_expression "(iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)" (parenthesized_expression "(iVar5 - (int)local_40)" (( "(") (binary_expression "iVar5 - (int)local_40" (identifier "iVar5") (- "-") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))) () ")")) (- "-") (call_expression "(uint)(pbVar13 < pbVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar13 < pbVar18)" (( "(") (binary_expression "pbVar13 < pbVar18" (identifier "pbVar13") (< "<") (identifier "pbVar18")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "sVar1 = (&DAT_00070f80)[(int)pbVar13];" (assignment_expression "sVar1 = (&DAT_00070f80)[(int)pbVar13]" (identifier "sVar1") (= "=") (subscript_expression "(&DAT_00070f80)[(int)pbVar13]" (parenthesized_expression "(&DAT_00070f80)" (( "(") (pointer_expression "&DAT_00070f80" (& "&") (identifier "DAT_00070f80")) () ")")) ([ "[") (cast_expression "(int)pbVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar13")) (] "]"))) (; ";")) (expression_statement "(&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;" (assignment_expression "(&DAT_00070f80)[(int)pbVar13] = sVar1 + 1" (subscript_expression "(&DAT_00070f80)[(int)pbVar13]" (parenthesized_expression "(&DAT_00070f80)" (( "(") (pointer_expression "&DAT_00070f80" (& "&") (identifier "DAT_00070f80")) () ")")) ([ "[") (cast_expression "(int)pbVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar13")) (] "]")) (= "=") (binary_expression "sVar1 + 1" (identifier "sVar1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar14 = (byte *)0xfffffffe < pbVar13;" (assignment_expression "bVar14 = (byte *)0xfffffffe < pbVar13" (identifier "bVar14") (= "=") (binary_expression "(byte *)0xfffffffe < pbVar13" (cast_expression "(byte *)0xfffffffe" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfffffffe")) (< "<") (identifier "pbVar13"))) (; ";")) (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar5 = iVar5 + (uint)bVar14;" (assignment_expression "iVar5 = iVar5 + (uint)bVar14" (identifier "iVar5") (= "=") (binary_expression "iVar5 + (uint)bVar14" (identifier "iVar5") (+ "+") (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((short)(sVar1 + 1) == 0)" (( "(") (binary_expression "(short)(sVar1 + 1) == 0" (cast_expression "(short)(sVar1 + 1)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (parenthesized_expression "(sVar1 + 1)" (( "(") (binary_expression "sVar1 + 1" (identifier "sVar1") (+ "+") (number_literal "1")) () ")"))) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (if_statement "if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }" (if "if") (parenthesized_expression "(((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P'))" (( "(") (binary_expression "((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')" (parenthesized_expression "((char)DAT_00068290 == '+')" (( "(") (binary_expression "(char)DAT_00068290 == '+'" (cast_expression "(char)DAT_00068290" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "DAT_00068290")) (== "==") (char_literal "'+'" (' "'") (character "+") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((char)DAT_00068290 == 'P')" (( "(") (binary_expression "(char)DAT_00068290 == 'P'" (cast_expression "(char)DAT_00068290" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "DAT_00068290")) (== "==") (char_literal "'P'" (' "'") (character "P") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        bVar14 = (char)DAT_00068290 == '+';\n        DAT_00068290._0_1_ = 'N';\n        if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }\n        goto LAB_000212f6;\n      }" ({ "{") (expression_statement "bVar14 = (char)DAT_00068290 == '+';" (assignment_expression "bVar14 = (char)DAT_00068290 == '+'" (identifier "bVar14") (= "=") (binary_expression "(char)DAT_00068290 == '+'" (cast_expression "(char)DAT_00068290" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "DAT_00068290")) (== "==") (char_literal "'+'" (' "'") (character "+") (' "'")))) (; ";")) (expression_statement "DAT_00068290._0_1_ = 'N';" (assignment_expression "DAT_00068290._0_1_ = 'N'" (field_expression "DAT_00068290._0_1_" (identifier "DAT_00068290") (. ".") (field_identifier "_0_1_")) (= "=") (char_literal "'N'" (' "'") (character "N") (' "'"))) (; ";")) (if_statement "if (bVar14) {\n          DAT_00068290._0_1_ = '-';\n        }" (if "if") (parenthesized_expression "(bVar14)" (( "(") (identifier "bVar14") () ")")) (compound_statement "{\n          DAT_00068290._0_1_ = '-';\n        }" ({ "{") (expression_statement "DAT_00068290._0_1_ = '-';" (assignment_expression "DAT_00068290._0_1_ = '-'" (field_expression "DAT_00068290._0_1_" (identifier "DAT_00068290") (. ".") (field_identifier "_0_1_")) (= "=") (char_literal "'-'" (' "'") (character "-") (' "'"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (} "}")) (else_clause "else {\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }" (else "else") (compound_statement "{\ncode_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }\ncode_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;\n    }" ({ "{") (labeled_statement "code_r0x000216f4:\n      if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }" (statement_identifier "code_r0x000216f4") (: ":") (if_statement "if (bVar3 < 2) {\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }" (if "if") (parenthesized_expression "(bVar3 < 2)" (( "(") (binary_expression "bVar3 < 2" (identifier "bVar3") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        pbVar18 = (byte *)(uint)bVar2;\n        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);\n        FUN_0002ab70(uVar7,(int)(char)pbVar18);\n        goto LAB_000212f6;\n      }" ({ "{") (expression_statement "pbVar18 = (byte *)(uint)bVar2;" (assignment_expression "pbVar18 = (byte *)(uint)bVar2" (identifier "pbVar18") (= "=") (cast_expression "(byte *)(uint)bVar2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2")))) (; ";")) (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_0002ab70(uVar7,(int)(char)pbVar18);" (call_expression "FUN_0002ab70(uVar7,(int)(char)pbVar18)" (identifier "FUN_0002ab70") (argument_list "(uVar7,(int)(char)pbVar18)" (( "(") (identifier "uVar7") (, ",") (cast_expression "(int)(char)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pbVar18" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "pbVar18"))) () ")"))) (; ";")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}")))) (labeled_statement "code_r0x000216fc:\n      if (bVar2 == 0x2b) goto LAB_000212f6;" (statement_identifier "code_r0x000216fc") (: ":") (if_statement "if (bVar2 == 0x2b) goto LAB_000212f6;" (if "if") (parenthesized_expression "(bVar2 == 0x2b)" (( "(") (binary_expression "bVar2 == 0x2b" (identifier "bVar2") (== "==") (number_literal "0x2b")) () ")")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")))) (} "}")))) (expression_statement "pbVar18 = (byte *)(uint)bVar2;" (assignment_expression "pbVar18 = (byte *)(uint)bVar2" (identifier "pbVar18") (= "=") (cast_expression "(byte *)(uint)bVar2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2")))) (; ";")) (expression_statement "iVar5 = FUN_000202c0(param_1);" (assignment_expression "iVar5 = FUN_000202c0(param_1)" (identifier "iVar5") (= "=") (call_expression "FUN_000202c0(param_1)" (identifier "FUN_000202c0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "cVar16 = (char)pbVar18;" (assignment_expression "cVar16 = (char)pbVar18" (identifier "cVar16") (= "=") (cast_expression "(char)pbVar18" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "pbVar18"))) (; ";")) (expression_statement "*param_1 = iVar5;" (assignment_expression "*param_1 = iVar5" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (cVar16 == '-') {\n      *(undefined1 *)(param_1 + 4) = 7;\n    }\n    else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" (if "if") (parenthesized_expression "(cVar16 == '-')" (( "(") (binary_expression "cVar16 == '-'" (identifier "cVar16") (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 7;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 4) = 7;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 7" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "7")) (; ";")) (} "}")) (else_clause "else if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" (else "else") (if_statement "if ((cVar16 == '~') || (cVar16 == '\"')) {\n      *(undefined1 *)(param_1 + 4) = 8;\n    }\n    else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" (if "if") (parenthesized_expression "((cVar16 == '~') || (cVar16 == '\"'))" (( "(") (binary_expression "(cVar16 == '~') || (cVar16 == '\"')" (parenthesized_expression "(cVar16 == '~')" (( "(") (binary_expression "cVar16 == '~'" (identifier "cVar16") (== "==") (char_literal "'~'" (' "'") (character "~") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(cVar16 == '\"')" (( "(") (binary_expression "cVar16 == '\"'" (identifier "cVar16") (== "==") (char_literal "'\"'" (' "'") (escape_sequence "\"") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 8;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 4) = 8;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 8" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else {\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" (else "else") (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 9;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 4) = 9;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 9" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "9")) (; ";")) (} "}")))))) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }\n    goto LAB_000217d0;" (default "default") (: ":") (if_statement "if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {\n      *(undefined1 *)(param_1 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }" (if "if") (parenthesized_expression "((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22))" (( "(") (binary_expression "(((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)" (parenthesized_expression "(((&DAT_000683e0)[uVar4] & 2) == 0)" (( "(") (binary_expression "((&DAT_000683e0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_000683e0)[uVar4] & 2)" (( "(") (binary_expression "(&DAT_000683e0)[uVar4] & 2" (subscript_expression "(&DAT_000683e0)[uVar4]" (parenthesized_expression "(&DAT_000683e0)" (( "(") (pointer_expression "&DAT_000683e0" (& "&") (identifier "DAT_000683e0")) () ")")) ([ "[") (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 + 4) = 1;\n      uVar7 = dcgettext(0,"bad expression",5);\n      FUN_0002ac50(uVar7);\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      goto LAB_000212f6;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 4) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 1" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (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_0002ac50(uVar7);" (call_expression "FUN_0002ac50(uVar7)" (identifier "FUN_0002ac50") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (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")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (goto_statement "goto LAB_000217d0;" (goto "goto") (statement_identifier "LAB_000217d0") (; ";"))) (case_statement "case 6:\n    DAT_00070ff8 = pbVar13 + 2;\n    *(undefined1 *)(param_1 + 4) = 2;\n    bVar3 = pbVar13[1];\n    param_1[2] = (int)(char)bVar3;\n    param_1[3] = (int)(char)bVar3 >> 0x1f;\n    goto LAB_000212f6;" (case "case") (number_literal "6") (: ":") (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" (identifier "DAT_00070ff8") (= "=") (binary_expression "pbVar13 + 2" (identifier "pbVar13") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "bVar3 = pbVar13[1];" (assignment_expression "bVar3 = pbVar13[1]" (identifier "bVar3") (= "=") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_1[2] = (int)(char)bVar3;" (assignment_expression "param_1[2] = (int)(char)bVar3" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)(char)bVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)bVar3" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar3")))) (; ";")) (expression_statement "param_1[3] = (int)(char)bVar3 >> 0x1f;" (assignment_expression "param_1[3] = (int)(char)bVar3 >> 0x1f" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(int)(char)bVar3 >> 0x1f" (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 "0x1f"))) (; ";")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";"))) (case_statement "case 7:" (case "case") (number_literal "7") (: ":")) (case_statement "case 0x3a:\n    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);\n    if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }\n    if (bVar3 == 0) {\n      uVar9 = dcgettext(0,"missing \'%c\'",5);\n      FUN_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }\ncode_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }\n    return puVar6;" (case "case") (number_literal "0x3a") (: ":") (expression_statement "puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);" (assignment_expression "puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2)" (identifier "puVar6") (= "=") (cast_expression "(undefined *)FUN_00021d40(0,param_1,param_2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00021d40(0,param_1,param_2)" (identifier "FUN_00021d40") (argument_list "(0,param_1,param_2)" (( "(") (number_literal "0") (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (if_statement "if (bVar3 == 0x28) {\n      bVar3 = *DAT_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }\n    else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\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_00070ff8;\n      if (bVar3 == 0x29) goto code_r0x000216a2;\n      uVar7 = 0x29;\n    }" ({ "{") (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" (identifier "bVar3") (= "=") (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8"))) (; ";")) (if_statement "if (bVar3 == 0x29) goto code_r0x000216a2;" (if "if") (parenthesized_expression "(bVar3 == 0x29)" (( "(") (binary_expression "bVar3 == 0x29" (identifier "bVar3") (== "==") (number_literal "0x29")) () ")")) (goto_statement "goto code_r0x000216a2;" (goto "goto") (statement_identifier "code_r0x000216a2") (; ";"))) (expression_statement "uVar7 = 0x29;" (assignment_expression "uVar7 = 0x29" (identifier "uVar7") (= "=") (number_literal "0x29")) (; ";")) (} "}")) (else_clause "else {\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }" (else "else") (compound_statement "{\n      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }\n      uVar7 = 0x5d;\n    }" ({ "{") (if_statement "if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }" (if "if") (parenthesized_expression "((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d))" (( "(") (binary_expression "(bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)" (parenthesized_expression "(bVar3 != 0x5b)" (( "(") (binary_expression "bVar3 != 0x5b" (identifier "bVar3") (!= "!=") (number_literal "0x5b")) () ")")) (|| "||") (parenthesized_expression "(bVar3 = *DAT_00070ff8, bVar3 == 0x5d)" (( "(") (comma_expression "bVar3 = *DAT_00070ff8, bVar3 == 0x5d" (assignment_expression "bVar3 = *DAT_00070ff8" (identifier "bVar3") (= "=") (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8"))) (, ",") (binary_expression "bVar3 == 0x5d" (identifier "bVar3") (== "==") (number_literal "0x5d"))) () ")"))) () ")")) (compound_statement "{\ncode_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;\n        goto code_r0x000216a7;\n      }" ({ "{") (labeled_statement "code_r0x000216a2:\n        DAT_00070ff8 = DAT_00070ff8 + 1;" (statement_identifier "code_r0x000216a2") (: ":") (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";"))) (goto_statement "goto code_r0x000216a7;" (goto "goto") (statement_identifier "code_r0x000216a7") (; ";")) (} "}"))) (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_0002ac50(uVar9,uVar7);\n    }\n    else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(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_0002ac50(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_0002ac50(uVar9,uVar7);" (call_expression "FUN_0002ac50(uVar9,uVar7)" (identifier "FUN_0002ac50") (argument_list "(uVar9,uVar7)" (( "(") (identifier "uVar9") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);\n    }" (else "else") (compound_statement "{\n      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);\n      FUN_0002ac50(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_0002ac50(uVar9,(int)(char)bVar3,uVar7);" (call_expression "FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7)" (identifier "FUN_0002ac50") (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_r0x000216a7:\n    if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }" (statement_identifier "code_r0x000216a7") (: ":") (if_statement "if (*DAT_00070ff8 == 0x20) {\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }" (if "if") (parenthesized_expression "(*DAT_00070ff8 == 0x20)" (( "(") (binary_expression "*DAT_00070ff8 == 0x20" (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      DAT_00070ff8 = DAT_00070ff8 + 1;\n      return puVar6;\n    }" ({ "{") (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (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_000212f0;" (case "case") (number_literal "0xb") (: ":") (goto_statement "goto LAB_000212f0;" (goto "goto") (statement_identifier "LAB_000212f0") (; ";"))) (case_statement "case 0xd:\n    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }\n    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }\n    *(undefined1 *)(param_1 + 4) = 3;\n    *param_1 = (int)&DAT_000710e0;\n    break;" (case "case") (number_literal "0xd") (: ":") (if_statement "if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }" (if "if") (parenthesized_expression "(((&DAT_000683e0)[pbVar13[1]] & 1) != 0)" (( "(") (binary_expression "((&DAT_000683e0)[pbVar13[1]] & 1) != 0" (parenthesized_expression "((&DAT_000683e0)[pbVar13[1]] & 1)" (( "(") (binary_expression "(&DAT_000683e0)[pbVar13[1]] & 1" (subscript_expression "(&DAT_000683e0)[pbVar13[1]]" (parenthesized_expression "(&DAT_000683e0)" (( "(") (pointer_expression "&DAT_000683e0" (& "&") (identifier "DAT_000683e0")) () ")")) ([ "[") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]")) (] "]")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);\n      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }\n      goto LAB_000217d0;\n    }" ({ "{") (expression_statement "iVar5 = strncasecmp((char *)pbVar18,"startof.",8);" (assignment_expression "iVar5 = strncasecmp((char *)pbVar18,"startof.",8)" (identifier "iVar5") (= "=") (call_expression "strncasecmp((char *)pbVar18,"startof.",8)" (identifier "strncasecmp") (argument_list "((char *)pbVar18,"startof.",8)" (( "(") (cast_expression "(char *)pbVar18" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar18")) (, ",") (string_literal ""startof."" (" """) (string_content "startof.") (" """)) (, ",") (number_literal "8") () ")")))) (; ";")) (if_statement "if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }" (if "if") (parenthesized_expression "(((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0))))" (( "(") (binary_expression "((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||\n         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))" (parenthesized_expression "((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0))" (( "(") (binary_expression "(iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((&DAT_000683e0)[pbVar13[9]] & 1) == 0)" (( "(") (binary_expression "((&DAT_000683e0)[pbVar13[9]] & 1) == 0" (parenthesized_expression "((&DAT_000683e0)[pbVar13[9]] & 1)" (( "(") (binary_expression "(&DAT_000683e0)[pbVar13[9]] & 1" (subscript_expression "(&DAT_000683e0)[pbVar13[9]]" (parenthesized_expression "(&DAT_000683e0)" (( "(") (pointer_expression "&DAT_000683e0" (& "&") (identifier "DAT_000683e0")) () ")")) ([ "[") (subscript_expression "pbVar13[9]" (identifier "pbVar13") ([ "[") (number_literal "9") (] "]")) (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))" (( "(") (parenthesized_expression "(iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0))" (( "(") (comma_expression "iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)" (assignment_expression "iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7)" (identifier "iVar5") (= "=") (call_expression "strncasecmp((char *)pbVar18,"sizeof.",7)" (identifier "strncasecmp") (argument_list "((char *)pbVar18,"sizeof.",7)" (( "(") (cast_expression "(char *)pbVar18" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar18")) (, ",") (string_literal ""sizeof."" (" """) (string_content "sizeof.") (" """)) (, ",") (number_literal "7") () ")")))) (, ",") (binary_expression "iVar5 == 0 &&\n          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)" (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(((&DAT_000683e0)[pbVar13[8]] & 1) == 0)" (( "(") (binary_expression "((&DAT_000683e0)[pbVar13[8]] & 1) == 0" (parenthesized_expression "((&DAT_000683e0)[pbVar13[8]] & 1)" (( "(") (binary_expression "(&DAT_000683e0)[pbVar13[8]] & 1" (subscript_expression "(&DAT_000683e0)[pbVar13[8]]" (parenthesized_expression "(&DAT_000683e0)" (( "(") (pointer_expression "&DAT_000683e0" (& "&") (identifier "DAT_000683e0")) () ")")) ([ "[") (subscript_expression "pbVar13[8]" (identifier "pbVar13") ([ "[") (number_literal "8") (] "]")) (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n        bVar3 = pbVar13[2];\n        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;\n        if (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }\n        DAT_00070ff8 = pbVar13;\n        *(undefined1 *)(param_1 + 4) = 1;\n        if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }\n        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);\n        FUN_0002ac50(uVar7);\n        goto LAB_000212f6;\n      }" ({ "{") (expression_statement "bVar3 = pbVar13[2];" (assignment_expression "bVar3 = pbVar13[2]" (identifier "bVar3") (= "=") (subscript_expression "pbVar13[2]" (identifier "pbVar13") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;" (assignment_expression "pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7" (identifier "pbVar13") (= "=") (binary_expression "pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7" (binary_expression "pbVar18 + ((bVar3 & 0xdf) == 0x54)" (identifier "pbVar18") (+ "+") (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 (*pbVar13 == 0x20) {\n          pbVar13 = pbVar13 + 1;\n        }" (if "if") (parenthesized_expression "(*pbVar13 == 0x20)" (( "(") (binary_expression "*pbVar13 == 0x20" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n          pbVar13 = pbVar13 + 1;\n        }" ({ "{") (expression_statement "pbVar13 = pbVar13 + 1;" (assignment_expression "pbVar13 = pbVar13 + 1" (identifier "pbVar13") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" (identifier "DAT_00070ff8") (= "=") (identifier "pbVar13")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 4) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 1" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (*pbVar13 == 0x28) {\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }" (if "if") (parenthesized_expression "(*pbVar13 == 0x28)" (( "(") (binary_expression "*pbVar13 == 0x28" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (== "==") (number_literal "0x28")) () ")")) (compound_statement "{\n          DAT_00070ff8 = pbVar13 + 1;\n          if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }\n          bVar2 = FUN_00021140(local_20);\n          if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }\n          pcVar8 = ".startof.";\n          if ((bVar3 & 0xdf) != 0x54) {\n            pcVar8 = ".sizeof.";\n          }\n          __ptr = (void *)concat(pcVar8,local_20[0],0);\n          pbVar18 = (byte *)FUN_000378b0(__ptr);\n          free(__ptr);\n          *(undefined1 *)(param_1 + 4) = 3;\n          param_1[2] = 0;\n          *param_1 = (int)pbVar18;\n          pbVar13 = DAT_00070ff8;\n          param_1[3] = 0;\n          *pbVar13 = bVar2;\n          bVar3 = *DAT_00070ff8;\n          if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }\n          if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }\n        }" ({ "{") (expression_statement "DAT_00070ff8 = pbVar13 + 1;" (assignment_expression "DAT_00070ff8 = pbVar13 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "pbVar13 + 1" (identifier "pbVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar13[1] == 0x20) {\n            DAT_00070ff8 = pbVar13 + 2;\n          }" (if "if") (parenthesized_expression "(pbVar13[1] == 0x20)" (( "(") (binary_expression "pbVar13[1] == 0x20" (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n            DAT_00070ff8 = pbVar13 + 2;\n          }" ({ "{") (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" (identifier "DAT_00070ff8") (= "=") (binary_expression "pbVar13 + 2" (identifier "pbVar13") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "bVar2 = FUN_00021140(local_20);" (assignment_expression "bVar2 = FUN_00021140(local_20)" (identifier "bVar2") (= "=") (call_expression "FUN_00021140(local_20)" (identifier "FUN_00021140") (argument_list "(local_20)" (( "(") (identifier "local_20") () ")")))) (; ";")) (if_statement "if (*local_20[0] == 0) {\n            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\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            pbVar18 = (byte *)(uint)bVar2;\n            uVar7 = dcgettext(0,"expected symbol name",5);\n            FUN_0002ac50(uVar7);\n            bVar3 = (byte)pbVar18;\n            *DAT_00070ff8 = bVar3;\n            if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }\n            FUN_0002cf40();\n            goto LAB_000212f6;\n          }" ({ "{") (expression_statement "pbVar18 = (byte *)(uint)bVar2;" (assignment_expression "pbVar18 = (byte *)(uint)bVar2" (identifier "pbVar18") (= "=") (cast_expression "(byte *)(uint)bVar2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2")))) (; ";")) (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_0002ac50(uVar7);" (call_expression "FUN_0002ac50(uVar7)" (identifier "FUN_0002ac50") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" (identifier "bVar3") (= "=") (cast_expression "(byte)pbVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pbVar18"))) (; ";")) (expression_statement "*DAT_00070ff8 = bVar3;" (assignment_expression "*DAT_00070ff8 = bVar3" (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8")) (= "=") (identifier "bVar3")) (; ";")) (if_statement "if (bVar3 == 0x22) {\n              FUN_000202a0();\n            }\n            else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" (if "if") (parenthesized_expression "(bVar3 == 0x22)" (( "(") (binary_expression "bVar3 == 0x22" (identifier "bVar3") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n              FUN_000202a0();\n            }" ({ "{") (expression_statement "FUN_000202a0();" (call_expression "FUN_000202a0()" (identifier "FUN_000202a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" (else "else") (if_statement "if (bVar3 == 0x29) {\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" (if "if") (parenthesized_expression "(bVar3 == 0x29)" (( "(") (binary_expression "bVar3 == 0x29" (identifier "bVar3") (== "==") (number_literal "0x29")) () ")")) (compound_statement "{\n              DAT_00070ff8 = DAT_00070ff8 + 1;\n              goto LAB_000212f6;\n            }" ({ "{") (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))))) (expression_statement "FUN_0002cf40();" (call_expression "FUN_0002cf40()" (identifier "FUN_0002cf40") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (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 "pbVar18 = (byte *)FUN_000378b0(__ptr);" (assignment_expression "pbVar18 = (byte *)FUN_000378b0(__ptr)" (identifier "pbVar18") (= "=") (cast_expression "(byte *)FUN_000378b0(__ptr)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000378b0(__ptr)" (identifier "FUN_000378b0") (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 + 4) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 3" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (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 = (int)pbVar18;" (assignment_expression "*param_1 = (int)pbVar18" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar18"))) (; ";")) (expression_statement "pbVar13 = DAT_00070ff8;" (assignment_expression "pbVar13 = DAT_00070ff8" (identifier "pbVar13") (= "=") (identifier "DAT_00070ff8")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*pbVar13 = bVar2;" (assignment_expression "*pbVar13 = bVar2" (pointer_expression "*pbVar13" (* "*") (identifier "pbVar13")) (= "=") (identifier "bVar2")) (; ";")) (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" (identifier "bVar3") (= "=") (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8"))) (; ";")) (if_statement "if (bVar3 == 0x22) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" (if "if") (parenthesized_expression "(bVar3 == 0x22)" (( "(") (binary_expression "bVar3 == 0x22" (identifier "bVar3") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" ({ "{") (expression_statement "bVar3 = DAT_00070ff8[1];" (assignment_expression "bVar3 = DAT_00070ff8[1]" (identifier "bVar3") (= "=") (subscript_expression "DAT_00070ff8[1]" (identifier "DAT_00070ff8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (bVar3 == 0x20) {\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" (if "if") (parenthesized_expression "(bVar3 == 0x20)" (( "(") (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n            bVar3 = DAT_00070ff8[1];\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n          }" ({ "{") (expression_statement "bVar3 = DAT_00070ff8[1];" (assignment_expression "bVar3 = DAT_00070ff8[1]" (identifier "bVar3") (= "=") (subscript_expression "DAT_00070ff8[1]" (identifier "DAT_00070ff8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (bVar3 == 0x29) {\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }" (if "if") (parenthesized_expression "(bVar3 == 0x29)" (( "(") (binary_expression "bVar3 == 0x29" (identifier "bVar3") (== "==") (number_literal "0x29")) () ")")) (compound_statement "{\n            DAT_00070ff8 = DAT_00070ff8 + 1;\n            goto LAB_000212f6;\n          }" ({ "{") (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (} "}"))) (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_0002ac50(uVar7);" (call_expression "FUN_0002ac50(uVar7)" (identifier "FUN_0002ac50") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (goto_statement "goto LAB_000217d0;" (goto "goto") (statement_identifier "LAB_000217d0") (; ";")) (} "}"))) (if_statement "if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }" (if "if") (parenthesized_expression "(DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180)" (( "(") (binary_expression "DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180" (identifier "DAT_00070dfc") (== "==") (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" (identifier "PTR__bfd_std_section_00067fa4") (+ "+") (number_literal "0x180"))) () ")")) (compound_statement "{\n      *(undefined1 *)(param_1 + 4) = 2;\n      iVar5 = DAT_00070ff0;\n      param_1[3] = DAT_00070ff4;\n      param_1[2] = iVar5;\n      goto LAB_000212f6;\n    }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "iVar5 = DAT_00070ff0;" (assignment_expression "iVar5 = DAT_00070ff0" (identifier "iVar5") (= "=") (identifier "DAT_00070ff0")) (; ";")) (expression_statement "param_1[3] = DAT_00070ff4;" (assignment_expression "param_1[3] = DAT_00070ff4" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "DAT_00070ff4")) (; ";")) (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")) (; ";")) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_1 + 4) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 3" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*param_1 = (int)&DAT_000710e0;" (assignment_expression "*param_1 = (int)&DAT_000710e0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(int)&DAT_000710e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_000710e0" (& "&") (identifier "DAT_000710e0")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xf:\n    bVar3 = pbVar13[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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\n    }\n    goto LAB_000212f6;" (case "case") (number_literal "0xf") (: ":") (expression_statement "bVar3 = pbVar13[1];" (assignment_expression "bVar3 = pbVar13[1]" (identifier "bVar3") (= "=") (subscript_expression "pbVar13[1]" (identifier "pbVar13") ([ "[") (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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\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_0001fa80();\n      break;\n    default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;\n    case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;\n    case 0x28:\n    case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;\n    case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;\n    case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();\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_0001fa80();\n      break;" (case "case") (number_literal "7") (: ":") (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" (identifier "FUN_0001fa80") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n      pbVar17 = pbVar18;\n      if (bVar3 != 0) goto code_r0x00021973;\n      goto code_r0x00021916;" (default "default") (: ":") (expression_statement "pbVar17 = pbVar18;" (assignment_expression "pbVar17 = pbVar18" (identifier "pbVar17") (= "=") (identifier "pbVar18")) (; ";")) (if_statement "if (bVar3 != 0) goto code_r0x00021973;" (if "if") (parenthesized_expression "(bVar3 != 0)" (( "(") (binary_expression "bVar3 != 0" (identifier "bVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00021973;" (goto "goto") (statement_identifier "code_r0x00021973") (; ";"))) (goto_statement "goto code_r0x00021916;" (goto "goto") (statement_identifier "code_r0x00021916") (; ";"))) (case_statement "case 0x12:\n      if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }\ncode_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;\n      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);\n      if (pcVar8 != (char *)0x0) {\n        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }\ncode_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      pbVar18 = pbVar17;\n      break;" (case "case") (number_literal "0x12") (: ":") (if_statement "if ((byte)(pbVar13[2] - 0x30) < 2) {\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }" (if "if") (parenthesized_expression "((byte)(pbVar13[2] - 0x30) < 2)" (( "(") (binary_expression "(byte)(pbVar13[2] - 0x30) < 2" (call_expression "(byte)(pbVar13[2] - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(pbVar13[2] - 0x30)" (( "(") (binary_expression "pbVar13[2] - 0x30" (subscript_expression "pbVar13[2]" (identifier "pbVar13") ([ "[") (number_literal "2") (] "]")) (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "2")) () ")")) (compound_statement "{\ncode_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;\n        FUN_0001fa80();\n        break;\n      }" ({ "{") (labeled_statement "code_r0x00021952:\n        DAT_00070ff8 = pbVar13 + 2;" (statement_identifier "code_r0x00021952") (: ":") (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" (identifier "DAT_00070ff8") (= "=") (binary_expression "pbVar13 + 2" (identifier "pbVar13") (+ "+") (number_literal "2"))) (; ";"))) (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" (identifier "FUN_0001fa80") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (labeled_statement "code_r0x00021973:\n      pbVar17 = (byte *)(uint)bVar3;" (statement_identifier "code_r0x00021973") (: ":") (expression_statement "pbVar17 = (byte *)(uint)bVar3;" (assignment_expression "pbVar17 = (byte *)(uint)bVar3" (identifier "pbVar17") (= "=") (cast_expression "(byte *)(uint)bVar3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")))) (; ";"))) (expression_statement "pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);" (assignment_expression "pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3)" (identifier "pcVar8") (= "=") (call_expression "strchr(PTR_DAT_00067f38,(int)(char)bVar3)" (identifier "strchr") (argument_list "(PTR_DAT_00067f38,(int)(char)bVar3)" (( "(") (identifier "PTR_DAT_00067f38") (, ",") (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        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\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        DAT_00070ff8 = pbVar13 + 2;\n        goto code_r0x00021994;\n      }" ({ "{") (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" (identifier "DAT_00070ff8") (= "=") (binary_expression "pbVar13 + 2" (identifier "pbVar13") (+ "+") (number_literal "2"))) (; ";")) (goto_statement "goto code_r0x00021994;" (goto "goto") (statement_identifier "code_r0x00021994") (; ";")) (} "}"))) (labeled_statement "code_r0x00021916:\n      *(undefined1 *)(param_1 + 4) = 2;" (statement_identifier "code_r0x00021916") (: ":") (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (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")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" (identifier "pbVar18") (= "=") (identifier "pbVar17")) (; ";")) (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      pbVar18 = pbVar18 + 1;\ncode_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;\n      DAT_00070ff8 = pbVar18;\ncode_r0x00021994:\n      FUN_0001f9e0();\n      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];\n      param_1[2] = -(uint)bVar3;\n      param_1[3] = (int)-(uint)bVar3 >> 0x1f;\n      pbVar18 = pbVar17;\n      break;" (case "case") (number_literal "0x42") (: ":") (expression_statement "pbVar18 = pbVar18 + 1;" (assignment_expression "pbVar18 = pbVar18 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + 1" (identifier "pbVar18") (+ "+") (number_literal "1"))) (; ";")) (labeled_statement "code_r0x00021a50:\n      pbVar17 = (byte *)(uint)bVar3;" (statement_identifier "code_r0x00021a50") (: ":") (expression_statement "pbVar17 = (byte *)(uint)bVar3;" (assignment_expression "pbVar17 = (byte *)(uint)bVar3" (identifier "pbVar17") (= "=") (cast_expression "(byte *)(uint)bVar3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")))) (; ";"))) (expression_statement "DAT_00070ff8 = pbVar18;" (assignment_expression "DAT_00070ff8 = pbVar18" (identifier "DAT_00070ff8") (= "=") (identifier "pbVar18")) (; ";")) (labeled_statement "code_r0x00021994:\n      FUN_0001f9e0();" (statement_identifier "code_r0x00021994") (: ":") (expression_statement "FUN_0001f9e0();" (call_expression "FUN_0001f9e0()" (identifier "FUN_0001f9e0") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];" (assignment_expression "bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff]" (identifier "bVar3") (= "=") (subscript_expression "PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff]" (identifier "PTR__sch_tolower_00067fbc") ([ "[") (binary_expression "(uint)pbVar17 & 0xff" (cast_expression "(uint)pbVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pbVar17")) (& "&") (number_literal "0xff")) (] "]"))) (; ";")) (expression_statement "param_1[2] = -(uint)bVar3;" (assignment_expression "param_1[2] = -(uint)bVar3" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (unary_expression "-(uint)bVar3" (- "-") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")))) (; ";")) (expression_statement "param_1[3] = (int)-(uint)bVar3 >> 0x1f;" (assignment_expression "param_1[3] = (int)-(uint)bVar3 >> 0x1f" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(int)-(uint)bVar3 >> 0x1f" (cast_expression "(int)-(uint)bVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (unary_expression "-(uint)bVar3" (- "-") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")))) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "pbVar18 = pbVar17;" (assignment_expression "pbVar18 = pbVar17" (identifier "pbVar18") (= "=") (identifier "pbVar17")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x28:" (case "case") (number_literal "0x28") (: ":")) (case_statement "case 0x48:\n      DAT_00070ff8 = pbVar13 + 2;\n      FUN_0001fa80();\n      break;" (case "case") (number_literal "0x48") (: ":") (expression_statement "DAT_00070ff8 = pbVar13 + 2;" (assignment_expression "DAT_00070ff8 = pbVar13 + 2" (identifier "DAT_00070ff8") (= "=") (binary_expression "pbVar13 + 2" (identifier "pbVar13") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" (identifier "FUN_0001fa80") (argument_list "()" (( "(") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x32:\n      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;\n      goto code_r0x000213c0;" (case "case") (number_literal "0x32") (: ":") (if_statement "if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;" (if "if") (parenthesized_expression "((byte)(pbVar13[2] - 0x30) < 2)" (( "(") (binary_expression "(byte)(pbVar13[2] - 0x30) < 2" (call_expression "(byte)(pbVar13[2] - 0x30)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(pbVar13[2] - 0x30)" (( "(") (binary_expression "pbVar13[2] - 0x30" (subscript_expression "pbVar13[2]" (identifier "pbVar13") ([ "[") (number_literal "2") (] "]")) (- "-") (number_literal "0x30")) () ")"))) (< "<") (number_literal "2")) () ")")) (goto_statement "goto code_r0x00021952;" (goto "goto") (statement_identifier "code_r0x00021952") (; ";"))) (goto_statement "goto code_r0x000213c0;" (goto "goto") (statement_identifier "code_r0x000213c0") (; ";"))) (case_statement "case 0x36:\n      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }\ncode_r0x000213c0:\n      DAT_00070ff8 = pbVar13;\n      FUN_0001fa80();" (case "case") (number_literal "0x36") (: ":") (if_statement "if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {\n        local_20[0] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }" (if "if") (parenthesized_expression "(((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0))" (( "(") (binary_expression "((&DAT_000682e0)[pbVar13[2]] == '\0') &&\n         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)" (parenthesized_expression "((&DAT_000682e0)[pbVar13[2]] == '\0')" (( "(") (binary_expression "(&DAT_000682e0)[pbVar13[2]] == '\0'" (subscript_expression "(&DAT_000682e0)[pbVar13[2]]" (parenthesized_expression "(&DAT_000682e0)" (( "(") (pointer_expression "&DAT_000682e0" (& "&") (identifier "DAT_000682e0")) () ")")) ([ "[") (subscript_expression "pbVar13[2]" (identifier "pbVar13") ([ "[") (number_literal "2") (] "]")) (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)" (( "(") (comma_expression "pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0" (assignment_expression "pcVar8 = strchr(PTR_DAT_00067f38,0x66)" (identifier "pcVar8") (= "=") (call_expression "strchr(PTR_DAT_00067f38,0x66)" (identifier "strchr") (argument_list "(PTR_DAT_00067f38,0x66)" (( "(") (identifier "PTR_DAT_00067f38") (, ",") (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] = pbVar13 + 2;\n        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);\n        pbVar18 = DAT_00070ff8 + 1;\n        if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;\n        pbVar13 = DAT_00070ff8 + -1;\n        pbVar18 = DAT_00070ff8;\n      }" ({ "{") (expression_statement "local_20[0] = pbVar13 + 2;" (assignment_expression "local_20[0] = pbVar13 + 2" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "pbVar13 + 2" (identifier "pbVar13") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);" (call_expression "FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280)" (identifier "FUN_00016d00") (argument_list "(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280)" (( "(") (identifier "local_20") (, ",") (string_literal ""."" (" """) (string_content ".") (" """)) (, ",") (identifier "PTR_DAT_00067f88") (, ",") (pointer_expression "&PTR_DAT_00068280" (& "&") (identifier "PTR_DAT_00068280")) () ")"))) (; ";")) (expression_statement "pbVar18 = DAT_00070ff8 + 1;" (assignment_expression "pbVar18 = DAT_00070ff8 + 1" (identifier "pbVar18") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;" (if "if") (parenthesized_expression "((local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62))))" (( "(") (binary_expression "(local_20[0] != pbVar18) &&\n           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))" (parenthesized_expression "(local_20[0] != pbVar18)" (( "(") (binary_expression "local_20[0] != pbVar18" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "pbVar18")) () ")")) (&& "&&") (parenthesized_expression "((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))" (( "(") (parenthesized_expression "(((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62))" (( "(") (binary_expression "((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)" (parenthesized_expression "((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66))" (( "(") (binary_expression "(local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&\n             (*local_20[0] != 0x66)" (parenthesized_expression "(local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0))" (( "(") (binary_expression "local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)" (binary_expression "local_20[0] != DAT_00070ff8 + 2" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (!= "!=") (binary_expression "DAT_00070ff8 + 2" (identifier "DAT_00070ff8") (+ "+") (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 "(*local_20[0] != 0x62)" (( "(") (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_r0x00021a50;" (goto "goto") (statement_identifier "code_r0x00021a50") (; ";"))) (expression_statement "pbVar13 = DAT_00070ff8 + -1;" (assignment_expression "pbVar13 = DAT_00070ff8 + -1" (identifier "pbVar13") (= "=") (binary_expression "DAT_00070ff8 + -1" (identifier "DAT_00070ff8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pbVar18 = DAT_00070ff8;" (assignment_expression "pbVar18 = DAT_00070ff8" (identifier "pbVar18") (= "=") (identifier "DAT_00070ff8")) (; ";")) (} "}"))) (labeled_statement "code_r0x000213c0:\n      DAT_00070ff8 = pbVar13;" (statement_identifier "code_r0x000213c0") (: ":") (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" (identifier "DAT_00070ff8") (= "=") (identifier "pbVar13")) (; ";"))) (expression_statement "FUN_0001fa80();" (call_expression "FUN_0001fa80()" (identifier "FUN_0001fa80") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";"))) (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_r0x000213c0;" (case "case") (number_literal "0x18") (: ":") (goto_statement "goto code_r0x000213c0;" (goto "goto") (statement_identifier "code_r0x000213c0") (; ";"))) (case_statement "case 0x5d:\n    if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }\nLAB_000217d0:\n    DAT_00070ff8 = pbVar13;\n    bVar3 = FUN_00021140(local_20);\n    pbVar18 = (byte *)(uint)bVar3;\n    iVar5 = FUN_000393d0(local_20[0]);\n    puVar6 = (undefined *)FUN_000374b0(iVar5);\n    bVar3 = (byte)pbVar18;\n    if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }\n    *DAT_00070ff8 = bVar3;\n    if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }\n    goto LAB_000212f6;" (case "case") (number_literal "0x5d") (: ":") (if_statement "if (((&DAT_000683e0)[uVar4] & 2) == 0) {\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }" (if "if") (parenthesized_expression "(((&DAT_000683e0)[uVar4] & 2) == 0)" (( "(") (binary_expression "((&DAT_000683e0)[uVar4] & 2) == 0" (parenthesized_expression "((&DAT_000683e0)[uVar4] & 2)" (( "(") (binary_expression "(&DAT_000683e0)[uVar4] & 2" (subscript_expression "(&DAT_000683e0)[uVar4]" (parenthesized_expression "(&DAT_000683e0)" (( "(") (pointer_expression "&DAT_000683e0" (& "&") (identifier "DAT_000683e0")) () ")")) ([ "[") (identifier "uVar4") (] "]")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pbVar18 = (byte *)(uint)bVar3;\n      FUN_00021270();\n      bVar3 = *(byte *)(param_1 + 4);\n      bVar2 = (byte)pbVar18;\n      if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }\n      goto code_r0x00021aea;\n    }" ({ "{") (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" (identifier "pbVar18") (= "=") (cast_expression "(byte *)(uint)bVar3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")))) (; ";")) (expression_statement "FUN_00021270();" (call_expression "FUN_00021270()" (identifier "FUN_00021270") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar3 = *(byte *)(param_1 + 4);" (assignment_expression "bVar3 = *(byte *)(param_1 + 4)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(param_1 + 4)" (* "*") (cast_expression "(byte *)(param_1 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "bVar2 = (byte)pbVar18;" (assignment_expression "bVar2 = (byte)pbVar18" (identifier "bVar2") (= "=") (cast_expression "(byte)pbVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pbVar18"))) (; ";")) (if_statement "if (bVar3 != 2) {\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }" (if "if") (parenthesized_expression "(bVar3 != 2)" (( "(") (binary_expression "bVar3 != 2" (identifier "bVar3") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n        if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }\n        goto code_r0x000216f4;\n      }" ({ "{") (if_statement "if (bVar3 == 6) {\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }" (if "if") (parenthesized_expression "(bVar3 == 6)" (( "(") (binary_expression "bVar3 == 6" (identifier "bVar3") (== "==") (number_literal "6")) () ")")) (compound_statement "{\n          pbVar18 = (byte *)param_1[2];\n          uStack_48 = param_1[3];\n          bVar14 = false;\n          goto code_r0x00021597;\n        }" ({ "{") (expression_statement "pbVar18 = (byte *)param_1[2];" (assignment_expression "pbVar18 = (byte *)param_1[2]" (identifier "pbVar18") (= "=") (cast_expression "(byte *)param_1[2]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "uStack_48 = param_1[3];" (assignment_expression "uStack_48 = param_1[3]" (identifier "uStack_48") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (goto_statement "goto code_r0x00021597;" (goto "goto") (statement_identifier "code_r0x00021597") (; ";")) (} "}"))) (goto_statement "goto code_r0x000216f4;" (goto "goto") (statement_identifier "code_r0x000216f4") (; ";")) (} "}"))) (goto_statement "goto code_r0x00021aea;" (goto "goto") (statement_identifier "code_r0x00021aea") (; ";")) (} "}"))) (labeled_statement "LAB_000217d0:\n    DAT_00070ff8 = pbVar13;" (statement_identifier "LAB_000217d0") (: ":") (expression_statement "DAT_00070ff8 = pbVar13;" (assignment_expression "DAT_00070ff8 = pbVar13" (identifier "DAT_00070ff8") (= "=") (identifier "pbVar13")) (; ";"))) (expression_statement "bVar3 = FUN_00021140(local_20);" (assignment_expression "bVar3 = FUN_00021140(local_20)" (identifier "bVar3") (= "=") (call_expression "FUN_00021140(local_20)" (identifier "FUN_00021140") (argument_list "(local_20)" (( "(") (identifier "local_20") () ")")))) (; ";")) (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" (identifier "pbVar18") (= "=") (cast_expression "(byte *)(uint)bVar3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")))) (; ";")) (expression_statement "iVar5 = FUN_000393d0(local_20[0]);" (assignment_expression "iVar5 = FUN_000393d0(local_20[0])" (identifier "iVar5") (= "=") (call_expression "FUN_000393d0(local_20[0])" (identifier "FUN_000393d0") (argument_list "(local_20[0])" (( "(") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) () ")")))) (; ";")) (expression_statement "puVar6 = (undefined *)FUN_000374b0(iVar5);" (assignment_expression "puVar6 = (undefined *)FUN_000374b0(iVar5)" (identifier "puVar6") (= "=") (cast_expression "(undefined *)FUN_000374b0(iVar5)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000374b0(iVar5)" (identifier "FUN_000374b0") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))))) (; ";")) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" (identifier "bVar3") (= "=") (cast_expression "(byte)pbVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pbVar18"))) (; ";")) (if_statement "if (param_2 == 2) {\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }\n    else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }" (if "if") (parenthesized_expression "(param_2 == 2)" (( "(") (binary_expression "param_2 == 2" (identifier "param_2") (== "==") (number_literal "2")) () ")")) (compound_statement "{\nLAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;\n      *param_1 = iVar5;\n      param_1[2] = 0;\n      param_1[3] = 0;\n    }" ({ "{") (labeled_statement "LAB_00021828:\n      *(undefined1 *)(param_1 + 4) = 3;" (statement_identifier "LAB_00021828") (: ":") (expression_statement "*(undefined1 *)(param_1 + 4) = 3;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 3" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (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")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }" (else "else") (compound_statement "{\n      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }\n      uVar15 = FUN_00038db0(iVar5);\n      bVar3 = (byte)pbVar18;\n      *(undefined8 *)(param_1 + 2) = uVar15;\n    }" ({ "{") (if_statement "if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }\n      else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }" (if "if") (parenthesized_expression "(puVar6 == PTR__bfd_std_section_00067fa4 + 0x180)" (( "(") (binary_expression "puVar6 == PTR__bfd_std_section_00067fa4 + 0x180" (identifier "puVar6") (== "==") (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" (identifier "PTR__bfd_std_section_00067fa4") (+ "+") (number_literal "0x180"))) () ")")) (compound_statement "{\n        iVar10 = FUN_00037110(iVar5,0);\n        bVar3 = (byte)pbVar18;\n        if (iVar10 != 0) goto LAB_0002181a;\n        *(undefined1 *)(param_1 + 4) = 2;\n      }" ({ "{") (expression_statement "iVar10 = FUN_00037110(iVar5,0);" (assignment_expression "iVar10 = FUN_00037110(iVar5,0)" (identifier "iVar10") (= "=") (call_expression "FUN_00037110(iVar5,0)" (identifier "FUN_00037110") (argument_list "(iVar5,0)" (( "(") (identifier "iVar5") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" (identifier "bVar3") (= "=") (cast_expression "(byte)pbVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pbVar18"))) (; ";")) (if_statement "if (iVar10 != 0) goto LAB_0002181a;" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002181a;" (goto "goto") (statement_identifier "LAB_0002181a") (; ";"))) (expression_statement "*(undefined1 *)(param_1 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 2" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }" (else "else") (compound_statement "{\nLAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;\n        pbVar18 = (byte *)(uint)bVar3;\n        *(undefined1 *)(param_1 + 4) = 5;\n      }" ({ "{") (labeled_statement "LAB_0002181a:\n        if (DAT_00070e90 != puVar6) goto LAB_00021828;" (statement_identifier "LAB_0002181a") (: ":") (if_statement "if (DAT_00070e90 != puVar6) goto LAB_00021828;" (if "if") (parenthesized_expression "(DAT_00070e90 != puVar6)" (( "(") (binary_expression "DAT_00070e90 != puVar6" (identifier "DAT_00070e90") (!= "!=") (identifier "puVar6")) () ")")) (goto_statement "goto LAB_00021828;" (goto "goto") (statement_identifier "LAB_00021828") (; ";")))) (expression_statement "pbVar18 = (byte *)(uint)bVar3;" (assignment_expression "pbVar18 = (byte *)(uint)bVar3" (identifier "pbVar18") (= "=") (cast_expression "(byte *)(uint)bVar3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 4) = 5;" (assignment_expression "*(undefined1 *)(param_1 + 4) = 5" (pointer_expression "*(undefined1 *)(param_1 + 4)" (* "*") (cast_expression "(undefined1 *)(param_1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "5")) (; ";")) (} "}")))) (expression_statement "uVar15 = FUN_00038db0(iVar5);" (assignment_expression "uVar15 = FUN_00038db0(iVar5)" (identifier "uVar15") (= "=") (call_expression "FUN_00038db0(iVar5)" (identifier "FUN_00038db0") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "bVar3 = (byte)pbVar18;" (assignment_expression "bVar3 = (byte)pbVar18" (identifier "bVar3") (= "=") (cast_expression "(byte)pbVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pbVar18"))) (; ";")) (expression_statement "*(undefined8 *)(param_1 + 2) = uVar15;" (assignment_expression "*(undefined8 *)(param_1 + 2) = uVar15" (pointer_expression "*(undefined8 *)(param_1 + 2)" (* "*") (cast_expression "(undefined8 *)(param_1 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (} "}")))) (expression_statement "*DAT_00070ff8 = bVar3;" (assignment_expression "*DAT_00070ff8 = bVar3" (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8")) (= "=") (identifier "bVar3")) (; ";")) (if_statement "if (bVar3 == 0x22) {\n      FUN_000202a0();\n    }" (if "if") (parenthesized_expression "(bVar3 == 0x22)" (( "(") (binary_expression "bVar3 == 0x22" (identifier "bVar3") (== "==") (number_literal "0x22")) () ")")) (compound_statement "{\n      FUN_000202a0();\n    }" ({ "{") (expression_statement "FUN_000202a0();" (call_expression "FUN_000202a0()" (identifier "FUN_000202a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000212f6;" (goto "goto") (statement_identifier "LAB_000212f6") (; ";"))) (} "}"))) (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[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000212f6:\n  FUN_0001f9a0(pbVar18);" (statement_identifier "LAB_000212f6") (: ":") (expression_statement "FUN_0001f9a0(pbVar18);" (call_expression "FUN_0001f9a0(pbVar18)" (identifier "FUN_0001f9a0") (argument_list "(pbVar18)" (( "(") (identifier "pbVar18") () ")"))) (; ";"))) (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" (identifier "bVar3") (= "=") (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8"))) (; ";")) (while_statement "while (bVar3 == 0x20) {\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }" (while "while") (parenthesized_expression "(bVar3 == 0x20)" (( "(") (binary_expression "bVar3 == 0x20" (identifier "bVar3") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    DAT_00070ff8 = DAT_00070ff8 + 1;\n    bVar3 = *DAT_00070ff8;\n  }" ({ "{") (expression_statement "DAT_00070ff8 = DAT_00070ff8 + 1;" (assignment_expression "DAT_00070ff8 = DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (= "=") (binary_expression "DAT_00070ff8 + 1" (identifier "DAT_00070ff8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = *DAT_00070ff8;" (assignment_expression "bVar3 = *DAT_00070ff8" (identifier "bVar3") (= "=") (pointer_expression "*DAT_00070ff8" (* "*") (identifier "DAT_00070ff8"))) (; ";")) (} "}"))) (if_statement "if (*param_1 != 0) {\n    FUN_0003a250(*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_0003a250(*param_1);\n  }" ({ "{") (expression_statement "FUN_0003a250(*param_1);" (call_expression "FUN_0003a250(*param_1)" (identifier "FUN_0003a250") (argument_list "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 != 2) {\n    iVar5 = FUN_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(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_00039a90(*param_1,0);\n    *param_1 = iVar5;\n    iVar5 = FUN_00039a90(param_1[1],0);\n    param_1[1] = iVar5;\n  }" ({ "{") (expression_statement "iVar5 = FUN_00039a90(*param_1,0);" (assignment_expression "iVar5 = FUN_00039a90(*param_1,0)" (identifier "iVar5") (= "=") (call_expression "FUN_00039a90(*param_1,0)" (identifier "FUN_00039a90") (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_00039a90(param_1[1],0);" (assignment_expression "iVar5 = FUN_00039a90(param_1[1],0)" (identifier "iVar5") (= "=") (call_expression "FUN_00039a90(param_1[1],0)" (identifier "FUN_00039a90") (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[4] == '\x03') {\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }" (if "if") (parenthesized_expression "((char)param_1[4] == '\x03')" (( "(") (binary_expression "(char)param_1[4] == '\x03'" (cast_expression "(char)param_1[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")")) (compound_statement "{\n    puVar6 = (undefined *)FUN_000374b0(*param_1);\n    return puVar6;\n  }" ({ "{") (expression_statement "puVar6 = (undefined *)FUN_000374b0(*param_1);" (assignment_expression "puVar6 = (undefined *)FUN_000374b0(*param_1)" (identifier "puVar6") (= "=") (cast_expression "(undefined *)FUN_000374b0(*param_1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000374b0(*param_1)" (identifier "FUN_000374b0") (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[4] != '\x05') {\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }" (if "if") (parenthesized_expression "((char)param_1[4] != '\x05')" (( "(") (binary_expression "(char)param_1[4] != '\x05'" (cast_expression "(char)param_1[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (!= "!=") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (compound_statement "{\n    return PTR__bfd_std_section_00067fa4 + 0x180;\n  }" ({ "{") (return_statement "return PTR__bfd_std_section_00067fa4 + 0x180;" (return "return") (binary_expression "PTR__bfd_std_section_00067fa4 + 0x180" (identifier "PTR__bfd_std_section_00067fa4") (+ "+") (number_literal "0x180")) (; ";")) (} "}"))) (return_statement "return DAT_00070e90;" (return "return") (identifier "DAT_00070e90") (; ";")) (} "}"))

/* 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_43)

{
  type_4 *puVar1;
  type_5 var_13;
  short var_17;
  int var_5;
  type_6 oVar5;
  type_4 uVar6;
  type_7 var_3;
  char var_24;
  type_4 var_2;
  type_8 *psVar10;
  type_1 var_45;
  type_7 *var_26;
  char *var_37;
  int var_7;
  int var_6;
  type_5 *var_14;
  type_9 *var_15;
  type_4 var_16;
  type_7 *var_22;
  type_10 uVar20;
  bool bVar21;
  type_11 vVar22;
  type_7 var_4;
  type_4 var_8;
  type_4 var_11;
  type_4 var_10;
  char *var_40;
  type_10 uStack_14;
  
  uStack_14 = 0x2127b;
  expressionP->field_0x11 = expressionP->field_0x11 & 0xfc | 1;
  var_22 = (type_7 *)var_1;
  var_26 = (type_7 *)(var_1 + 1);
  if (*var_1 == ' ') {
    var_26 = (type_7 *)(var_1 + 2);
    var_22 = (type_7 *)(var_1 + 1);
  }
  var_4 = *var_22;
  var_2 = (type_4)var_4;
  if (is_end_of_line[var_2] != '\0') {
_L369:
    expressionP->field_0x10 = 1;
    var_1 = (char *)var_22;
    goto LAB_000212f6;
  }
  var_1 = (char *)var_26;
  switch(var_2 - 0x21 & 0xff) {
  case 0:
  case 10:
  case 0xc:
    function_1(expressionP,var_43);
    var_3 = expressionP->field_0x10;
    if (var_3 == 2) {
      if (var_4 == 0x2d) {
        var_6 = (int)expressionP->X_add_number;
        var_4 = expressionP->field_0x11;
        var_5 = *(int *)((int)&expressionP->X_add_number + 4);
        var_7 = -var_6;
        *(int *)&expressionP->X_add_number = var_7;
        var_6 = -(var_5 + (type_4)(var_6 != 0));
        expressionP->field_0x11 = var_4 & 0xfe;
        *(int *)((int)&expressionP->X_add_number + 4) = var_6;
        if (var_6 != 0 || var_7 != 0) {
          expressionP->field_0x11 = (var_4 >> 1 & 1 ^ 1) * '\x02' | var_4 & 0xfc;
        }
        goto LAB_000212f6;
      }
      if (var_4 != 0x22) {
        if (var_4 == 0x21) {
          oVar5 = expressionP->X_add_number;
          var_6 = *(int *)((int)&expressionP->X_add_number + 4);
          *(type_10 *)((int)&expressionP->X_add_number + 4) = 0;
          *(type_4 *)&expressionP->X_add_number = (type_4)((int)oVar5 == 0 && var_6 == 0);
        }
        goto LAB_000212f6;
      }
LAB_00021aea:
      *(type_4 *)&expressionP->X_add_number = ~(type_4)expressionP->X_add_number;
      puVar1 = (type_4 *)((int)&expressionP->X_add_number + 4);
      *puVar1 = ~*puVar1;
      goto LAB_000212f6;
    }
    if (var_3 == 6) {
      var_2 = (type_4)expressionP->X_add_number;
      bVar21 = var_4 == 0x2d;
      var_8 = *(type_4 *)((int)&expressionP->X_add_number + 4);
      if ((-1 < (int)((var_8 - 1) + (type_4)(var_2 != 0) | var_8)) || (!bVar21)) {
LAB_00021597:
        if ((int)(type_4)(var_2 != 0) <= (int)-var_8) goto LAB_000216fc;
        if ((var_4 != 0x7e) && (!bVar21)) {
          if (var_4 == 0x21) {
            if (var_9 == 0) {
              var_16 = 0;
              uVar6 = 1;
              do {
                var_11 = uVar6;
                var_10 = var_16;
                if (var_8 == var_10 && var_2 == var_11) break;
                var_16 = var_10 + (0xfffffffe < var_11);
                uVar6 = var_11 + 1;
              } while (*(short *)(&DAT_00070f7e + (var_11 + 1) * 2) == 0);
            }
            else {
              var_11 = 0;
              var_10 = 0;
            }
            *(type_4 *)&expressionP->X_add_number =
                 (type_4)((var_12(var_10,var_8) !=
                        var_12(var_10 - var_8,(type_4)(var_11 < var_2))) ==
                       (int)((var_10 - var_8) - (type_4)(var_11 < var_2)) < 0);
            var_13 = *(type_5 *)&expressionP->field_0x10;
            *(type_10 *)((int)&expressionP->X_add_number + 4) = 0;
            *(type_5 *)&expressionP->field_0x10 = var_13 & 0xfc00 | 0x102;
          }
          goto LAB_000212f6;
        }
        var_14 = (type_5 *)&var_9;
        do {
          *var_14 = ~*var_14;
          var_14 = var_14 + 1;
        } while (var_14 != (type_5 *)(&var_9 + var_2));
        if ((int)-var_8 < (int)(type_4)(0x13 < var_2)) {
LAB_00021c92:
          if (!bVar21) goto LAB_000212f6;
          var_2 = (type_4)expressionP->X_add_number;
          var_11 = *(int *)((int)&expressionP->X_add_number + 4);
        }
        else {
          *(type_10 *)&expressionP->X_add_number = 0x14;
          *(type_10 *)((int)&expressionP->X_add_number + 4) = 0;
          if (0x12 < (int)(var_2 - 1)) goto LAB_00021c92;
          var_15 = &var_9 + (var_2 - 1);
          do {
            var_15 = var_15 + 1;
            *var_15 = 0xffff;
          } while (var_15 != (type_9 *)&DAT_00070fa6);
          if (!bVar21) goto LAB_000212f6;
          var_2 = 0x14;
          var_11 = 0;
        }
        var_9 = var_9 + 1;
        if (var_9 == 0) {
          var_16 = 1;
          var_6 = 0;
          do {
            if ((var_12(var_6,var_11) != var_12(var_6 - var_11,(type_4)(var_16 < var_2))) ==
                (int)((var_6 - var_11) - (type_4)(var_16 < var_2)) < 0) break;
            var_17 = (&var_9)[var_16];
            (&var_9)[var_16] = var_17 + 1;
            bVar21 = 0xfffffffe < var_16;
            var_16 = var_16 + 1;
            var_6 = var_6 + (type_4)bVar21;
          } while ((short)(var_17 + 1) == 0);
        }
        goto LAB_000212f6;
      }
      if ((generic_floating_point_number.sign == '+') || (generic_floating_point_number.sign == 'P')
         ) {
        bVar21 = generic_floating_point_number.sign == '+';
        generic_floating_point_number.sign = 'N';
        if (bVar21) {
          generic_floating_point_number.sign = '-';
        }
        goto LAB_000212f6;
      }
    }
    else {
LAB_000216f4:
      if (var_3 < 2) {
        var_37 = (char *)var_18(0,"Unary operator %c ignored because bad operand follows",5);
        var_19(var_37,(int)(char)var_4);
        goto LAB_000212f6;
      }
LAB_000216fc:
      if (var_4 == 0x2b) goto LAB_000212f6;
    }
    psVar10 = var_20(expressionP);
    expressionP->X_add_symbol = psVar10;
    if (var_4 == 0x2d) {
      expressionP->field_0x10 = 7;
    }
    else if ((var_4 == 0x7e) || (var_4 == 0x22)) {
      expressionP->field_0x10 = 8;
    }
    else {
      expressionP->field_0x10 = 9;
    }
    break;
  default:
    if (((lex_type[var_2] & 2) == 0) && (var_4 != 0x22)) {
      expressionP->field_0x10 = 1;
      var_37 = (char *)var_18(0,"bad expression",5);
      var_21(var_37);
      expressionP->field_0x10 = 2;
      *(type_10 *)&expressionP->X_add_number = 0;
      *(type_10 *)((int)&expressionP->X_add_number + 4) = 0;
      goto LAB_000212f6;
    }
    goto LAB_000217d0;
  case 6:
    var_1 = (char *)(var_22 + 2);
    expressionP->field_0x10 = 2;
    var_4 = var_22[1];
    *(int *)&expressionP->X_add_number = (int)(char)var_4;
    *(int *)((int)&expressionP->X_add_number + 4) = (int)(char)var_4 >> 0x1f;
    goto LAB_000212f6;
  case 7:
  case 0x3a:
    var_45 = var_23(0,expressionP,var_43);
    if (var_4 == 0x28) {
      var_24 = *var_1;
      if (var_24 == ')') goto LAB_000216a2;
      uVar20 = 0x29;
    }
    else {
      if ((var_4 != 0x5b) || (var_24 = *var_1, var_24 == ']')) {
LAB_000216a2:
        var_1 = var_1 + 1;
        goto LAB_000216a7;
      }
      uVar20 = 0x5d;
    }
    if (var_24 == '\0') {
      var_37 = (char *)var_18(0,"missing \'%c\'",5);
      var_21(var_37,uVar20);
    }
    else {
      var_37 = (char *)var_18(0,"found \'%c\', expected: \'%c\'",5);
      var_21(var_37,(int)var_24,uVar20);
    }
LAB_000216a7:
    if (*var_1 == ' ') {
      var_1 = var_1 + 1;
      return var_45;
    }
    return var_45;
  case 0xb:
    goto _L369;
  case 0xd:
    if ((lex_type[var_22[1]] & 1) != 0) {
      var_6 = var_25((char *)var_26,"startof.",8);
      if (((var_6 == 0) && ((lex_type[var_22[9]] & 1) == 0)) ||
         ((var_6 = var_25((char *)var_26,"sizeof.",7), var_6 == 0 &&
          ((lex_type[var_22[8]] & 1) == 0)))) {
        var_4 = var_22[2];
        var_26 = var_26 + ((var_4 & 0xdf) == 0x54) + 7;
        if (*var_26 == 0x20) {
          var_26 = var_26 + 1;
        }
        var_1 = (char *)var_26;
        expressionP->field_0x10 = 1;
        if (*var_26 == 0x28) {
          var_1 = (char *)(var_26 + 1);
          if (var_26[1] == 0x20) {
            var_1 = (char *)(var_26 + 2);
          }
          var_24 = var_27(&var_40);
          if (*var_40 == '\0') {
            var_37 = (char *)var_18(0,"expected symbol name",5);
            var_21(var_37);
            *var_1 = var_24;
            if (var_24 == '\"') {
              var_28('\"');
            }
            else if (var_24 == ')') {
              var_1 = var_1 + 1;
              goto LAB_000212f6;
            }
            var_29();
            goto LAB_000212f6;
          }
          var_37 = ".startof.";
          if ((var_4 & 0xdf) != 0x54) {
            var_37 = ".sizeof.";
          }
          var_37 = (char *)var_30(var_37,var_40,0);
          psVar10 = var_31(var_37);
          var_32(var_37);
          expressionP->field_0x10 = 3;
          *(type_10 *)&expressionP->X_add_number = 0;
          expressionP->X_add_symbol = psVar10;
          var_37 = var_1;
          *(type_10 *)((int)&expressionP->X_add_number + 4) = 0;
          *var_37 = var_24;
          var_24 = *var_1;
          if (var_24 == '\"') {
            var_24 = var_1[1];
            var_1 = var_1 + 1;
          }
          if (var_24 == ' ') {
            var_24 = var_1[1];
            var_1 = var_1 + 1;
          }
          if (var_24 == ')') {
            var_1 = var_1 + 1;
            goto LAB_000212f6;
          }
        }
        var_37 = (char *)var_18(0,"syntax error in .startof. or .sizeof.",5);
        var_21(var_37);
        goto LAB_000212f6;
      }
      goto LAB_000217d0;
    }
    if (var_33 == (type_1)(var_34 + 0x180)) {
      expressionP->field_0x10 = 2;
      uVar20 = (type_10)abs_section_offset;
      *(type_10 *)((int)&expressionP->X_add_number + 4) = abs_section_offset._4_4_;
      *(type_10 *)&expressionP->X_add_number = uVar20;
      goto LAB_000212f6;
    }
    expressionP->field_0x10 = 3;
    expressionP->X_add_symbol = &dot_symbol;
    break;
  case 0xf:
    var_4 = var_22[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_35(8,expressionP);
      break;
    default:
      if (var_4 != 0) goto LAB_00021973;
      goto LAB_00021916;
    case 0x12:
      if ((type_7)(var_22[2] - 0x30) < 2) {
LAB_00021952:
        var_1 = (char *)(var_22 + 2);
        var_35(2,expressionP);
        break;
      }
LAB_00021973:
      var_37 = var_36(PTR_FLT_CHARS_00067f38,(int)(char)var_4);
      if (var_37 != (char *)0x0) {
        var_26 = var_22 + 2;
        goto LAB_00021994;
      }
LAB_00021916:
      expressionP->field_0x10 = 2;
      *(type_10 *)&expressionP->X_add_number = 0;
      *(type_10 *)((int)&expressionP->X_add_number + 4) = 0;
      break;
    case 0x14:
    case 0x15:
    case 0x16:
    case 0x17:
    case 0x34:
    case 0x35:
    case 0x37:
    case 0x42:
      var_26 = var_26 + 1;
LAB_00021994:
      var_1 = (char *)var_26;
      var_38(expressionP);
      var_4 = PTR__sch_tolower_00067fbc[var_4];
      *(type_4 *)&expressionP->X_add_number = -(type_4)var_4;
      *(int *)((int)&expressionP->X_add_number + 4) = (int)-(type_4)var_4 >> 0x1f;
      break;
    case 0x28:
    case 0x48:
      var_1 = (char *)(var_22 + 2);
      var_35(0x10,expressionP);
      break;
    case 0x32:
      if ((type_7)(var_22[2] - 0x30) < 2) goto LAB_00021952;
      goto _L391;
    case 0x36:
      if ((is_end_of_line[var_22[2]] == '\0') &&
         (var_37 = var_36(PTR_FLT_CHARS_00067f38,0x66), var_37 != (char *)0x0)) {
        var_40 = (char *)(var_22 + 2);
        var_39(&var_40,".",PTR_EXP_CHARS_00067f88,&generic_floating_point_number);
        if ((var_40 != var_1 + 1) &&
           ((((var_40 != var_1 + 2 || ((var_40[-1] - 0x2bU & 0xfd) != 0)) && (*var_40 != 'f')
             ) && (var_26 = (type_7 *)(var_1 + 1), *var_40 != 'b')))) goto LAB_00021994;
        var_22 = (type_7 *)(var_1 + -1);
      }
_L391:
      var_1 = (char *)var_22;
      var_35(10,expressionP);
    }
    goto LAB_000212f6;
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x14:
  case 0x15:
  case 0x16:
  case 0x17:
  case 0x18:
    goto _L391;
  case 0x5d:
    if ((lex_type[var_2] & 2) == 0) {
      function_1(expressionP,var_43);
      var_3 = expressionP->field_0x10;
      if (var_3 != 2) {
        if (var_3 == 6) {
          var_2 = (type_4)expressionP->X_add_number;
          var_8 = *(type_4 *)((int)&expressionP->X_add_number + 4);
          bVar21 = false;
          goto LAB_00021597;
        }
        goto LAB_000216f4;
      }
      goto LAB_00021aea;
    }
LAB_000217d0:
    var_1 = (char *)var_22;
    var_24 = var_27(&var_40);
    psVar10 = var_41(var_40);
    var_45 = var_42(psVar10);
    if (var_43 == var_44) {
LAB_00021828:
      expressionP->field_0x10 = 3;
      expressionP->X_add_symbol = psVar10;
      *(type_10 *)&expressionP->X_add_number = 0;
      *(type_10 *)((int)&expressionP->X_add_number + 4) = 0;
    }
    else {
      if ((var_45 == (type_1)(var_34 + 0x180)) &&
         (var_6 = var_46(psVar10,0), var_6 == 0)) {
        expressionP->field_0x10 = 2;
      }
      else {
        if (var_47 != var_45) goto LAB_00021828;
        expressionP->field_0x10 = 5;
      }
      vVar22 = var_48(psVar10);
      expressionP->X_add_number = vVar22;
    }
    *var_1 = var_24;
    if (var_24 == '\"') {
      var_28('\"');
    }
    goto LAB_000212f6;
  }
  *(type_10 *)&expressionP->X_add_number = 0;
  *(type_10 *)((int)&expressionP->X_add_number + 4) = 0;
LAB_000212f6:
  var_49(expressionP);
  var_24 = *var_1;
  while (var_24 == ' ') {
    var_1 = var_1 + 1;
    var_24 = *var_1;
  }
  if (expressionP->X_add_symbol != (type_8 *)0x0) {
    var_50(expressionP->X_add_symbol);
  }
  if (var_43 != var_44) {
    psVar10 = var_51(expressionP->X_add_symbol,0);
    expressionP->X_add_symbol = psVar10;
    psVar10 = var_51(expressionP->X_op_symbol,0);
    expressionP->X_op_symbol = psVar10;
  }
  if (expressionP->field_0x10 == '\x03') {
    var_45 = var_42(expressionP->X_add_symbol);
    return var_45;
  }
  if (expressionP->field_0x10 != '\x05') {
    return (type_1)(var_34 + 0x180);
  }
  return var_47;
}


(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: (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: (primitive_type) 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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (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)))) (expression_statement (assignment_expression left: (identifier) right: (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (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))))))) (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: (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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) 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)))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (unary_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (unary_expression argument: (identifier))))) consequence: (compound_statement (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) 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: (pointer_expression argument: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (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: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) 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: (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)))) (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: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (unary_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (identifier))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (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)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) right: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (identifier)))) (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (character))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (character)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) 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: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))) 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))) (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: (identifier) right: (subscript_expression argument: (identifier) index: (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: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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)))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (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: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (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 (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (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: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (unary_expression argument: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) 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 (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (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))))))) (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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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)))))) (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: (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))) (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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (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: (identifier) right: (number_literal))) 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)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (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))) (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 (identifier))))) (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 sVar1;
  byte bVar2;
  byte bVar3;
  uint uVar4;
  int iVar5;
  undefined *puVar6;
  void *__ptr;
  undefined4 uVar7;
  char *pcVar8;
  undefined4 uVar9;
  int iVar10;
  ushort *puVar11;
  undefined2 *puVar12;
  byte *pbVar13;
  bool bVar14;
  undefined8 uVar15;
  char cVar16;
  byte *pbVar17;
  byte *pbVar18;
  uint uStack_48;
  byte *local_40;
  uint local_3c;
  byte *local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x2127b;
  *(byte *)((int)param_1 + 0x11) = *(byte *)((int)param_1 + 0x11) & 0xfc | 1;
  pbVar13 = DAT_00070ff8;
  pbVar18 = DAT_00070ff8 + 1;
  if (*DAT_00070ff8 == 0x20) {
    pbVar18 = DAT_00070ff8 + 2;
    pbVar13 = DAT_00070ff8 + 1;
  }
  bVar3 = *pbVar13;
  uVar4 = (uint)bVar3;
  if ((&DAT_000682e0)[uVar4] != '\0') {
LAB_000212f0:
    *(undefined1 *)(param_1 + 4) = 1;
    DAT_00070ff8 = pbVar13;
    goto LAB_000212f6;
  }
  DAT_00070ff8 = pbVar18;
  switch(uVar4 - 0x21 & 0xff) {
  case 0:
  case 10:
  case 0xc:
    pbVar18 = (byte *)(uint)bVar3;
    MASKED();
    bVar3 = *(byte *)(param_1 + 4);
    bVar2 = (byte)pbVar18;
    if (bVar3 == 2) {
      if (bVar2 == 0x2d) {
        iVar5 = param_1[2];
        bVar3 = *(byte *)((int)param_1 + 0x11);
        pbVar18 = (byte *)-iVar5;
        param_1[2] = (int)pbVar18;
        iVar5 = -(param_1[3] + (uint)(iVar5 != 0));
        *(byte *)((int)param_1 + 0x11) = bVar3 & 0xfe;
        param_1[3] = iVar5;
        if (iVar5 != 0 || pbVar18 != (byte *)0x0) {
          *(byte *)((int)param_1 + 0x11) = (bVar3 >> 1 & 1 ^ 1) * '\x02' | bVar3 & 0xfc;
        }
        goto LAB_000212f6;
      }
      if (bVar2 != 0x22) {
        if (bVar2 == 0x21) {
          iVar5 = param_1[3];
          param_1[3] = 0;
          param_1[2] = (uint)(param_1[2] == 0 && iVar5 == 0);
        }
        goto LAB_000212f6;
      }
code_r0x00021aea:
      param_1[2] = ~param_1[2];
      param_1[3] = ~param_1[3];
      goto LAB_000212f6;
    }
    if (bVar3 == 6) {
      pbVar18 = (byte *)param_1[2];
      bVar14 = bVar2 == 0x2d;
      uStack_48 = param_1[3];
      if ((-1 < (int)((uStack_48 - 1) + (uint)(pbVar18 != (byte *)0x0) | uStack_48)) || (!bVar14)) {
code_r0x00021597:
        if ((int)(uint)(pbVar18 != (byte *)0x0) <= (int)-uStack_48) goto code_r0x000216fc;
        if ((bVar2 != 0x7e) && (!bVar14)) {
          if (bVar2 == 0x21) {
            if (DAT_00070f80 == 0) {
              uVar4 = 0;
              pbVar13 = (byte *)0x1;
              do {
                local_40 = pbVar13;
                local_3c = uVar4;
                if (uStack_48 == local_3c && pbVar18 == local_40) break;
                uVar4 = local_3c + ((byte *)0xfffffffe < local_40);
                pbVar13 = local_40 + 1;
              } while (*(short *)(&DAT_00070f7e + (int)(local_40 + 1) * 2) == 0);
            }
            else {
              local_40 = (byte *)0x0;
              local_3c = 0;
            }
            param_1[2] = (uint)((SBORROW4(local_3c,uStack_48) !=
                                SBORROW4(local_3c - uStack_48,(uint)(local_40 < pbVar18))) ==
                               (int)((local_3c - uStack_48) - (uint)(local_40 < pbVar18)) < 0);
            param_1[3] = 0;
            *(ushort *)(param_1 + 4) = *(ushort *)(param_1 + 4) & 0xfc00 | 0x102;
          }
          goto LAB_000212f6;
        }
        puVar11 = (ushort *)&DAT_00070f80;
        do {
          *puVar11 = ~*puVar11;
          puVar11 = puVar11 + 1;
        } while (puVar11 != (ushort *)(&DAT_00070f80 + (int)pbVar18));
        if ((int)-uStack_48 < (int)(uint)((byte *)0x13 < pbVar18)) {
code_r0x00021c92:
          if (!bVar14) goto LAB_000212f6;
          pbVar18 = (byte *)param_1[2];
          local_40 = (byte *)param_1[3];
        }
        else {
          param_1[2] = 0x14;
          param_1[3] = 0;
          if (0x12 < (int)(pbVar18 + -1)) goto code_r0x00021c92;
          puVar12 = &DAT_00070f80 + (int)(pbVar18 + -1);
          do {
            puVar12 = puVar12 + 1;
            *puVar12 = 0xffff;
          } while (puVar12 != (undefined2 *)&DAT_00070fa6);
          if (!bVar14) goto LAB_000212f6;
          pbVar18 = (byte *)0x14;
          local_40 = (byte *)0x0;
        }
        DAT_00070f80 = DAT_00070f80 + 1;
        if (DAT_00070f80 == 0) {
          pbVar13 = (byte *)0x1;
          iVar5 = 0;
          do {
            if ((SBORROW4(iVar5,(int)local_40) !=
                SBORROW4(iVar5 - (int)local_40,(uint)(pbVar13 < pbVar18))) ==
                (int)((iVar5 - (int)local_40) - (uint)(pbVar13 < pbVar18)) < 0) break;
            sVar1 = (&DAT_00070f80)[(int)pbVar13];
            (&DAT_00070f80)[(int)pbVar13] = sVar1 + 1;
            bVar14 = (byte *)0xfffffffe < pbVar13;
            pbVar13 = pbVar13 + 1;
            iVar5 = iVar5 + (uint)bVar14;
          } while ((short)(sVar1 + 1) == 0);
        }
        goto LAB_000212f6;
      }
      if (((char)DAT_00068290 == '+') || ((char)DAT_00068290 == 'P')) {
        bVar14 = (char)DAT_00068290 == '+';
        DAT_00068290._0_1_ = 'N';
        if (bVar14) {
          DAT_00068290._0_1_ = '-';
        }
        goto LAB_000212f6;
      }
    }
    else {
code_r0x000216f4:
      if (bVar3 < 2) {
        pbVar18 = (byte *)(uint)bVar2;
        uVar7 = dcgettext(0,"Unary operator %c ignored because bad operand follows",5);
        FUN_0002ab70(uVar7,(int)(char)pbVar18);
        goto LAB_000212f6;
      }
code_r0x000216fc:
      if (bVar2 == 0x2b) goto LAB_000212f6;
    }
    pbVar18 = (byte *)(uint)bVar2;
    iVar5 = FUN_000202c0(param_1);
    cVar16 = (char)pbVar18;
    *param_1 = iVar5;
    if (cVar16 == '-') {
      *(undefined1 *)(param_1 + 4) = 7;
    }
    else if ((cVar16 == '~') || (cVar16 == '\"')) {
      *(undefined1 *)(param_1 + 4) = 8;
    }
    else {
      *(undefined1 *)(param_1 + 4) = 9;
    }
    break;
  default:
    if ((((&DAT_000683e0)[uVar4] & 2) == 0) && (bVar3 != 0x22)) {
      *(undefined1 *)(param_1 + 4) = 1;
      uVar7 = dcgettext(0,"bad expression",5);
      FUN_0002ac50(uVar7);
      *(undefined1 *)(param_1 + 4) = 2;
      param_1[2] = 0;
      param_1[3] = 0;
      goto LAB_000212f6;
    }
    goto LAB_000217d0;
  case 6:
    DAT_00070ff8 = pbVar13 + 2;
    *(undefined1 *)(param_1 + 4) = 2;
    bVar3 = pbVar13[1];
    param_1[2] = (int)(char)bVar3;
    param_1[3] = (int)(char)bVar3 >> 0x1f;
    goto LAB_000212f6;
  case 7:
  case 0x3a:
    puVar6 = (undefined *)FUN_00021d40(0,param_1,param_2);
    if (bVar3 == 0x28) {
      bVar3 = *DAT_00070ff8;
      if (bVar3 == 0x29) goto code_r0x000216a2;
      uVar7 = 0x29;
    }
    else {
      if ((bVar3 != 0x5b) || (bVar3 = *DAT_00070ff8, bVar3 == 0x5d)) {
code_r0x000216a2:
        DAT_00070ff8 = DAT_00070ff8 + 1;
        goto code_r0x000216a7;
      }
      uVar7 = 0x5d;
    }
    if (bVar3 == 0) {
      uVar9 = dcgettext(0,"missing \'%c\'",5);
      FUN_0002ac50(uVar9,uVar7);
    }
    else {
      uVar9 = dcgettext(0,"found \'%c\', expected: \'%c\'",5);
      FUN_0002ac50(uVar9,(int)(char)bVar3,uVar7);
    }
code_r0x000216a7:
    if (*DAT_00070ff8 == 0x20) {
      DAT_00070ff8 = DAT_00070ff8 + 1;
      return puVar6;
    }
    return puVar6;
  case 0xb:
    goto LAB_000212f0;
  case 0xd:
    if (((&DAT_000683e0)[pbVar13[1]] & 1) != 0) {
      iVar5 = strncasecmp((char *)pbVar18,"startof.",8);
      if (((iVar5 == 0) && (((&DAT_000683e0)[pbVar13[9]] & 1) == 0)) ||
         ((iVar5 = strncasecmp((char *)pbVar18,"sizeof.",7), iVar5 == 0 &&
          (((&DAT_000683e0)[pbVar13[8]] & 1) == 0)))) {
        bVar3 = pbVar13[2];
        pbVar13 = pbVar18 + ((bVar3 & 0xdf) == 0x54) + 7;
        if (*pbVar13 == 0x20) {
          pbVar13 = pbVar13 + 1;
        }
        DAT_00070ff8 = pbVar13;
        *(undefined1 *)(param_1 + 4) = 1;
        if (*pbVar13 == 0x28) {
          DAT_00070ff8 = pbVar13 + 1;
          if (pbVar13[1] == 0x20) {
            DAT_00070ff8 = pbVar13 + 2;
          }
          bVar2 = FUN_00021140(local_20);
          if (*local_20[0] == 0) {
            pbVar18 = (byte *)(uint)bVar2;
            uVar7 = dcgettext(0,"expected symbol name",5);
            FUN_0002ac50(uVar7);
            bVar3 = (byte)pbVar18;
            *DAT_00070ff8 = bVar3;
            if (bVar3 == 0x22) {
              FUN_000202a0();
            }
            else if (bVar3 == 0x29) {
              DAT_00070ff8 = DAT_00070ff8 + 1;
              goto LAB_000212f6;
            }
            FUN_0002cf40();
            goto LAB_000212f6;
          }
          pcVar8 = ".startof.";
          if ((bVar3 & 0xdf) != 0x54) {
            pcVar8 = ".sizeof.";
          }
          __ptr = (void *)concat(pcVar8,local_20[0],0);
          pbVar18 = (byte *)FUN_000378b0(__ptr);
          free(__ptr);
          *(undefined1 *)(param_1 + 4) = 3;
          param_1[2] = 0;
          *param_1 = (int)pbVar18;
          pbVar13 = DAT_00070ff8;
          param_1[3] = 0;
          *pbVar13 = bVar2;
          bVar3 = *DAT_00070ff8;
          if (bVar3 == 0x22) {
            bVar3 = DAT_00070ff8[1];
            DAT_00070ff8 = DAT_00070ff8 + 1;
          }
          if (bVar3 == 0x20) {
            bVar3 = DAT_00070ff8[1];
            DAT_00070ff8 = DAT_00070ff8 + 1;
          }
          if (bVar3 == 0x29) {
            DAT_00070ff8 = DAT_00070ff8 + 1;
            goto LAB_000212f6;
          }
        }
        uVar7 = dcgettext(0,"syntax error in .startof. or .sizeof.",5);
        FUN_0002ac50(uVar7);
        goto LAB_000212f6;
      }
      goto LAB_000217d0;
    }
    if (DAT_00070dfc == PTR__bfd_std_section_00067fa4 + 0x180) {
      *(undefined1 *)(param_1 + 4) = 2;
      iVar5 = DAT_00070ff0;
      param_1[3] = DAT_00070ff4;
      param_1[2] = iVar5;
      goto LAB_000212f6;
    }
    *(undefined1 *)(param_1 + 4) = 3;
    *param_1 = (int)&DAT_000710e0;
    break;
  case 0xf:
    bVar3 = pbVar13[1];
    switch((int)(char)bVar3 - 0x30U & 0xff) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      FUN_0001fa80();
      break;
    default:
      pbVar17 = pbVar18;
      if (bVar3 != 0) goto code_r0x00021973;
      goto code_r0x00021916;
    case 0x12:
      if ((byte)(pbVar13[2] - 0x30) < 2) {
code_r0x00021952:
        DAT_00070ff8 = pbVar13 + 2;
        FUN_0001fa80();
        break;
      }
code_r0x00021973:
      pbVar17 = (byte *)(uint)bVar3;
      pcVar8 = strchr(PTR_DAT_00067f38,(int)(char)bVar3);
      if (pcVar8 != (char *)0x0) {
        DAT_00070ff8 = pbVar13 + 2;
        goto code_r0x00021994;
      }
code_r0x00021916:
      *(undefined1 *)(param_1 + 4) = 2;
      param_1[2] = 0;
      param_1[3] = 0;
      pbVar18 = pbVar17;
      break;
    case 0x14:
    case 0x15:
    case 0x16:
    case 0x17:
    case 0x34:
    case 0x35:
    case 0x37:
    case 0x42:
      pbVar18 = pbVar18 + 1;
code_r0x00021a50:
      pbVar17 = (byte *)(uint)bVar3;
      DAT_00070ff8 = pbVar18;
code_r0x00021994:
      FUN_0001f9e0();
      bVar3 = PTR__sch_tolower_00067fbc[(uint)pbVar17 & 0xff];
      param_1[2] = -(uint)bVar3;
      param_1[3] = (int)-(uint)bVar3 >> 0x1f;
      pbVar18 = pbVar17;
      break;
    case 0x28:
    case 0x48:
      DAT_00070ff8 = pbVar13 + 2;
      FUN_0001fa80();
      break;
    case 0x32:
      if ((byte)(pbVar13[2] - 0x30) < 2) goto code_r0x00021952;
      goto code_r0x000213c0;
    case 0x36:
      if (((&DAT_000682e0)[pbVar13[2]] == '\0') &&
         (pcVar8 = strchr(PTR_DAT_00067f38,0x66), pcVar8 != (char *)0x0)) {
        local_20[0] = pbVar13 + 2;
        FUN_00016d00(local_20,".",PTR_DAT_00067f88,&PTR_DAT_00068280);
        pbVar18 = DAT_00070ff8 + 1;
        if ((local_20[0] != pbVar18) &&
           ((((local_20[0] != DAT_00070ff8 + 2 || ((local_20[0][-1] - 0x2b & 0xfd) != 0)) &&
             (*local_20[0] != 0x66)) && (*local_20[0] != 0x62)))) goto code_r0x00021a50;
        pbVar13 = DAT_00070ff8 + -1;
        pbVar18 = DAT_00070ff8;
      }
code_r0x000213c0:
      DAT_00070ff8 = pbVar13;
      FUN_0001fa80();
    }
    goto LAB_000212f6;
  case 0x10:
  case 0x11:
  case 0x12:
  case 0x13:
  case 0x14:
  case 0x15:
  case 0x16:
  case 0x17:
  case 0x18:
    goto code_r0x000213c0;
  case 0x5d:
    if (((&DAT_000683e0)[uVar4] & 2) == 0) {
      pbVar18 = (byte *)(uint)bVar3;
      MASKED();
      bVar3 = *(byte *)(param_1 + 4);
      bVar2 = (byte)pbVar18;
      if (bVar3 != 2) {
        if (bVar3 == 6) {
          pbVar18 = (byte *)param_1[2];
          uStack_48 = param_1[3];
          bVar14 = false;
          goto code_r0x00021597;
        }
        goto code_r0x000216f4;
      }
      goto code_r0x00021aea;
    }
LAB_000217d0:
    DAT_00070ff8 = pbVar13;
    bVar3 = FUN_00021140(local_20);
    pbVar18 = (byte *)(uint)bVar3;
    iVar5 = FUN_000393d0(local_20[0]);
    puVar6 = (undefined *)FUN_000374b0(iVar5);
    bVar3 = (byte)pbVar18;
    if (param_2 == 2) {
LAB_00021828:
      *(undefined1 *)(param_1 + 4) = 3;
      *param_1 = iVar5;
      param_1[2] = 0;
      param_1[3] = 0;
    }
    else {
      if (puVar6 == PTR__bfd_std_section_00067fa4 + 0x180) {
        iVar10 = FUN_00037110(iVar5,0);
        bVar3 = (byte)pbVar18;
        if (iVar10 != 0) goto LAB_0002181a;
        *(undefined1 *)(param_1 + 4) = 2;
      }
      else {
LAB_0002181a:
        if (DAT_00070e90 != puVar6) goto LAB_00021828;
        pbVar18 = (byte *)(uint)bVar3;
        *(undefined1 *)(param_1 + 4) = 5;
      }
      uVar15 = FUN_00038db0(iVar5);
      bVar3 = (byte)pbVar18;
      *(undefined8 *)(param_1 + 2) = uVar15;
    }
    *DAT_00070ff8 = bVar3;
    if (bVar3 == 0x22) {
      FUN_000202a0();
    }
    goto LAB_000212f6;
  }
  param_1[2] = 0;
  param_1[3] = 0;
LAB_000212f6:
  FUN_0001f9a0(pbVar18);
  bVar3 = *DAT_00070ff8;
  while (bVar3 == 0x20) {
    DAT_00070ff8 = DAT_00070ff8 + 1;
    bVar3 = *DAT_00070ff8;
  }
  if (*param_1 != 0) {
    FUN_0003a250(*param_1);
  }
  if (param_2 != 2) {
    iVar5 = FUN_00039a90(*param_1,0);
    *param_1 = iVar5;
    iVar5 = FUN_00039a90(param_1[1],0);
    param_1[1] = iVar5;
  }
  if ((char)param_1[4] == '\x03') {
    puVar6 = (undefined *)FUN_000374b0(*param_1);
    return puVar6;
  }
  if ((char)param_1[4] != '\x05') {
    return PTR__bfd_std_section_00067fa4 + 0x180;
  }
  return DAT_00070e90;
}

