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

segT expr(int rankarg,expressionS *resultP,expr_mode mode)

{
  int *piVar1;
  uint *puVar2;
  operator_rankT oVar3;
  int iVar4;
  longlong lVar5;
  segT paVar6;
  undefined *puVar7;
  char cVar8;
  byte bVar9;
  symbolS *psVar10;
  char *pcVar11;
  segT paVar12;
  char *format;
  int iVar13;
  fragS *frag2;
  fragS *frag1;
  bfd_boolean bVar14;
  operatorT oVar15;
  byte bVar16;
  segT paVar17;
  uint uVar18;
  uint uVar19;
  undefined *puVar20;
  uint uVar21;
  bool bVar22;
  offsetT oVar23;
  valueT vVar24;
  valueT vVar25;
  operatorT local_94;
  operatorT local_88;
  segT local_80;
  int local_74;
  uint local_5c;
  uint local_58;
  char ec;
  offsetT frag_off;
  expressionS right;
  
  if (rankarg < 0) {
                    /* WARNING: Subroutine does not return */
    as_abort("../../gas/expr.c",0x6dc,"expr");
  }
  if ((char)rankarg == '\0') {
    dot_value = frag_now_fix();
    dot_frag = frag_now;
  }
  local_80 = operand(resultP,mode);
  if (*input_line_pointer == 0x20) {
                    /* WARNING: Subroutine does not return */
    as_abort("../../gas/expr.c",0x6e8,"expr");
  }
  uVar19 = (uint)(byte)*input_line_pointer;
  if (is_end_of_line[uVar19] != '\0') goto LAB_00022622;
  if ((lex_type[uVar19] & 2) == 0) {
LAB_00022269:
    pcVar11 = input_line_pointer;
    if (uVar19 == 0x2d) {
LAB_000227c0:
      local_94 = op_encoding[uVar19];
      local_74 = 1;
      goto LAB_00022706;
    }
    if (uVar19 < 0x2e) {
      if (uVar19 == 0x26) {
        local_74 = (input_line_pointer[1] == '&') + 1;
        local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;
      }
      else {
        if (uVar19 == 0x2b) goto LAB_000227c0;
        if (uVar19 != 0x21) goto LAB_000225c3;
        if (input_line_pointer[1] != '!') {
          oVar15 = O_ne;
          local_94 = O_bit_or_not;
          bVar22 = input_line_pointer[1] == '=';
          goto LAB_000222ad;
        }
        local_74 = 2;
        local_94 = O_bit_exclusive_or;
      }
    }
    else if (uVar19 == 0x3d) {
      if (input_line_pointer[1] != '=') goto LAB_00022622;
      local_74 = 2;
      local_94 = O_eq;
    }
    else if (uVar19 < 0x3e) {
      if (uVar19 == 0x3c) {
        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {
          local_74 = 2;
          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);
          goto LAB_00022706;
        }
        local_74 = 1;
        local_94 = O_lt;
      }
      else {
LAB_000225c3:
        local_94 = op_encoding[uVar19];
        if (local_94 == O_illegal) {
          local_94 = i386_operator((char *)0x0,2,(char *)0x0);
          local_74 = 1;
          if (local_94 != O_illegal) {
            local_74 = (int)input_line_pointer - (int)pcVar11;
          }
          goto LAB_00022706;
        }
        local_74 = 1;
      }
    }
    else {
      if (uVar19 == 0x3e) {
        if (input_line_pointer[1] == '=') {
          local_74 = 2;
          local_94 = O_ge;
          goto LAB_000222c3;
        }
        oVar15 = O_right_shift;
        local_94 = O_gt;
        bVar22 = input_line_pointer[1] == '>';
      }
      else {
        if (uVar19 != 0x7c) goto LAB_000225c3;
        oVar15 = O_logical_or;
        local_94 = O_bit_inclusive_or;
        bVar22 = input_line_pointer[1] == '|';
      }
LAB_000222ad:
      if (bVar22) {
        local_94 = oVar15;
      }
      local_74 = bVar22 + 1;
    }
  }
  else {
    cVar8 = get_symbol_name((char **)&right);
    frag_off._0_4_ = (char *)CONCAT31(frag_off._1_3_,cVar8);
    local_94 = i386_operator((char *)right.X_add_symbol,2,(char *)&frag_off);
    psVar10 = right.X_add_symbol;
    if (local_94 == O_absent) {
      *input_line_pointer = (char)frag_off;
      input_line_pointer = (char *)right.X_add_symbol;
      goto LAB_00022269;
    }
    if ((local_94 != O_illegal) && (local_94 - O_uminus < 3)) {
      pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);
      as_bad(pcVar11,psVar10);
      local_94 = O_illegal;
    }
    *input_line_pointer = (char)frag_off;
    pcVar11 = input_line_pointer;
    input_line_pointer = (char *)right.X_add_symbol;
    local_74 = (int)pcVar11 - (int)right.X_add_symbol;
    pcVar11 = input_line_pointer;
LAB_00022706:
    input_line_pointer = pcVar11;
    if (local_94 == O_illegal) goto LAB_00022622;
  }
LAB_000222c3:
  puVar7 = PTR__bfd_std_section_0007ffb0;
  paVar17 = (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0);
  oVar3 = op_rank[local_94];
  paVar6 = local_80;
  oVar15 = local_94;
  while (local_80 = paVar6, (char)rankarg < oVar3) {
    right.X_md = 0;
    input_line_pointer = input_line_pointer + local_74;
    paVar12 = expr((int)oVar3,&right,mode);
    if (right._16_1_ == '\x01') {
      pcVar11 = (char *)dcgettext(0,"missing operand; zero assumed",5);
      as_warn(pcVar11);
      right._16_1_ = 2;
      right.X_add_number._0_4_ = 0;
      right.X_add_number._4_4_ = 0;
      right.X_add_symbol = (symbolS *)0x0;
      right.X_op_symbol = (symbolS *)0x0;
    }
    bVar16 = *input_line_pointer;
    uVar19 = (uint)bVar16;
    if (bVar16 == 0x20) {
                    /* WARNING: Subroutine does not return */
      as_abort("../../gas/expr.c",0x6fd,"expr");
    }
    pcVar11 = input_line_pointer;
    if (oVar15 == O_index) {
      if (bVar16 == 0x5d) {
        uVar19 = (uint)(byte)input_line_pointer[1];
        pcVar11 = input_line_pointer + 1;
        if (input_line_pointer[1] == 0x20) {
          uVar19 = (uint)(byte)input_line_pointer[2];
          pcVar11 = input_line_pointer + 2;
        }
        goto LAB_00022300;
      }
      as_bad("missing right bracket");
      uVar19 = (uint)(byte)*input_line_pointer;
      if (is_end_of_line[uVar19] == '\0') goto LAB_00022311;
LAB_00022590:
      local_74 = 1;
      local_88 = O_illegal;
    }
    else {
LAB_00022300:
      input_line_pointer = pcVar11;
      if (is_end_of_line[uVar19] != '\0') goto LAB_00022590;
LAB_00022311:
      if ((lex_type[uVar19] & 2) == 0) {
        if (uVar19 == 0x2d) goto LAB_00023070;
LAB_00022328:
        pcVar11 = input_line_pointer;
        if (uVar19 < 0x2e) {
          if (uVar19 == 0x26) {
            bVar22 = oVar15 != O_index;
            local_74 = (input_line_pointer[1] == '&') + 1;
            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;
            input_line_pointer = pcVar11;
          }
          else {
            if (uVar19 == 0x2b) goto LAB_00023070;
            if (uVar19 != 0x21) goto LAB_00022883;
            bVar22 = oVar15 != O_index;
            cVar8 = input_line_pointer[1];
            if (cVar8 == '!') {
              local_74 = 2;
              local_88 = O_bit_exclusive_or;
              input_line_pointer = pcVar11;
            }
            else {
              local_74 = (cVar8 == '=') + 1;
              local_88 = O_bit_or_not;
              input_line_pointer = pcVar11;
              if (cVar8 == '=') {
                local_88 = O_ne;
              }
            }
          }
        }
        else if (uVar19 == 0x3d) {
          if (input_line_pointer[1] != '=') goto LAB_00022590;
          bVar22 = oVar15 != O_index;
          local_74 = 2;
          local_88 = O_eq;
          input_line_pointer = pcVar11;
        }
        else if (uVar19 < 0x3e) {
          if (uVar19 == 0x3c) {
            bVar22 = oVar15 != O_index;
            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {
              local_74 = 2;
              local_88 = *(operatorT *)
                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);
              bVar22 = bVar22 && local_88 != O_illegal;
              input_line_pointer = pcVar11;
            }
            else {
              local_74 = 1;
              local_88 = O_lt;
              input_line_pointer = pcVar11;
            }
          }
          else {
LAB_00022883:
            local_88 = op_encoding[uVar19];
            bVar22 = oVar15 != O_index;
            local_74 = 1;
            input_line_pointer = pcVar11;
            if (local_88 == O_illegal) {
              local_88 = i386_operator((char *)0x0,2,(char *)0x0);
              if (local_88 != O_illegal) {
                local_74 = (int)input_line_pointer - (int)pcVar11;
              }
              bVar22 = bVar22 && local_88 != O_illegal;
              input_line_pointer = pcVar11;
            }
          }
        }
        else if (uVar19 == 0x3e) {
          bVar22 = oVar15 != O_index;
          cVar8 = input_line_pointer[1];
          if (cVar8 == '=') {
            local_74 = 2;
            local_88 = O_ge;
            input_line_pointer = pcVar11;
          }
          else {
            local_74 = (cVar8 == '>') + 1;
            local_88 = O_gt;
            input_line_pointer = pcVar11;
            if (cVar8 == '>') {
              local_88 = O_right_shift;
            }
          }
        }
        else {
          if (uVar19 != 0x7c) goto LAB_00022883;
          bVar22 = oVar15 != O_index;
          local_74 = (input_line_pointer[1] == '|') + 1;
          local_88 = O_bit_inclusive_or;
          input_line_pointer = pcVar11;
          if (input_line_pointer[1] == '|') {
            local_88 = O_logical_or;
          }
        }
      }
      else {
        ec = get_symbol_name((char **)&frag_off);
        local_88 = i386_operator((char *)frag_off,2,&ec);
        pcVar11 = (char *)frag_off;
        if (local_88 != O_absent) {
          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {
            bVar22 = oVar15 != O_index && local_88 != O_illegal;
          }
          else {
            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);
            as_bad(format,pcVar11);
            bVar22 = false;
            local_88 = O_illegal;
          }
          *input_line_pointer = ec;
          pcVar11 = input_line_pointer;
          input_line_pointer = (char *)frag_off;
          local_74 = (int)pcVar11 - (int)(char *)frag_off;
          goto LAB_00022388;
        }
        *input_line_pointer = ec;
        input_line_pointer = (char *)frag_off;
        if (uVar19 != 0x2d) goto LAB_00022328;
LAB_00023070:
        local_88 = op_encoding[uVar19];
        local_74 = 1;
        bVar22 = local_88 != O_illegal && oVar15 != O_index;
      }
LAB_00022388:
      if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {
                    /* WARNING: Subroutine does not return */
        as_abort("../../gas/expr.c",0x70d,"expr");
      }
    }
    if ((int)oVar15 < 10) {
                    /* WARNING: Subroutine does not return */
      as_abort("../../gas/expr.c",0x70e,"expr");
    }
    if (0x3d < (int)oVar15) {
                    /* WARNING: Subroutine does not return */
      as_abort("../../gas/expr.c",0x712,"expr");
    }
    if (resultP->field_0x10 == '\x06') {
      if (-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0))
      {
        pcVar11 = "left operand is a bignum; integer 0 assumed";
      }
      else {
        pcVar11 = "left operand is a float; integer 0 assumed";
      }
      pcVar11 = (char *)dcgettext(0,pcVar11,5);
      as_warn(pcVar11);
      resultP->field_0x10 = 2;
      *(undefined4 *)&resultP->X_add_number = 0;
      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;
      resultP->X_add_symbol = (symbolS *)0x0;
      resultP->X_op_symbol = (symbolS *)0x0;
    }
    local_94._0_1_ = (undefined1)oVar15;
    if (right._16_1_ == '\x06') {
      if ((int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0)) {
        pcVar11 = "right operand is a bignum; integer 0 assumed";
      }
      else {
        pcVar11 = "right operand is a float; integer 0 assumed";
      }
      pcVar11 = (char *)dcgettext(0,pcVar11,5);
      as_warn(pcVar11);
      right._16_1_ = 2;
      right.X_add_number._0_4_ = 0;
      right.X_add_number._4_4_ = 0;
      right.X_add_symbol = (symbolS *)0x0;
      right.X_op_symbol = (symbolS *)0x0;
      if (oVar15 != O_add) {
        cVar8 = resultP->field_0x10;
        if (oVar15 != O_subtract) goto LAB_000223e8;
        if (cVar8 == '\x05') goto LAB_00022cb4;
LAB_00022980:
        uVar19 = (uint)resultP->X_add_number;
        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);
        *(uint *)((int)&resultP->X_add_number + 4) =
             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);
        bVar9 = resultP->field_0x11;
        *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;
        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;
        if (uVar21 < right.X_add_number._4_4_ ||
            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))
        goto LAB_0002301d;
LAB_000229b7:
        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;
        goto LAB_00022442;
      }
      if (resultP->field_0x10 != '\x05') {
        bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;
LAB_00023225:
        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';
        goto LAB_00022442;
      }
LAB_00022c1a:
      local_94._0_1_ = 0x13;
      goto LAB_00022406;
    }
    if (oVar15 == O_add) {
      if (right._16_1_ == '\x02') {
        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;
        uVar19 = (uint)resultP->X_add_number;
        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);
        bVar9 = resultP->field_0x11;
        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);
        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;
        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;
        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;
        if (uVar21 <= uVar18 &&
            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)
        goto LAB_00023225;
LAB_0002301d:
        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;
        goto LAB_00022442;
      }
      cVar8 = resultP->field_0x10;
      if (cVar8 != '\x02') goto LAB_000223f1;
      if (right._16_1_ == '\x05') goto _L446;
      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);
      bVar16 = resultP->field_0x11;
      resultP->field_0x10 = right._16_1_;
      resultP->X_add_symbol = right.X_add_symbol;
      resultP->X_op_symbol = right.X_op_symbol;
      uVar21 = (uint)resultP->X_add_number;
      uVar18 = uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number);
      *(uint *)&resultP->X_add_number = uVar21 + (uint)right.X_add_number;
      *(uint *)((int)&resultP->X_add_number + 4) = uVar18;
      bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;
      if (uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)) {
        bVar9 = bVar9 ^ 1;
      }
      resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;
      local_80 = paVar12;
      goto LAB_000224e0;
    }
    cVar8 = resultP->field_0x10;
    if (oVar15 == O_subtract) {
      if (right._16_1_ == '\x03') {
        if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;
        psVar10 = resultP->X_add_symbol;
        if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||
           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))
            || (expr_section == paVar12)))) {
LAB_00022c90:
          if (right.X_add_symbol == psVar10) goto LAB_000234b2;
        }
        else {
          iVar13 = S_FORCE_RELOC(psVar10,0);
          if ((iVar13 != 0) ||
             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,
             iVar13 != 0)) {
            psVar10 = resultP->X_add_symbol;
            goto LAB_00022c90;
          }
LAB_000234b2:
          frag2 = symbol_get_frag(psVar10);
          frag1 = symbol_get_frag(resultP->X_add_symbol);
          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);
          if (bVar14 != 0) {
            vVar24 = S_GET_VALUE(resultP->X_add_symbol);
            vVar25 = S_GET_VALUE(right.X_add_symbol);
            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);
            uVar21 = (uint)resultP->X_add_number;
            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);
            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)
            ;
            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;
            bVar16 = resultP->field_0x11;
            *(char **)&resultP->X_add_number = pcVar11;
            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;
            if (uVar19 < right.X_add_number._4_4_ ||
                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {
              bVar9 = bVar9 ^ 1;
              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';
            }
            else {
              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';
            }
            uVar19 = (int)pcVar11 - (int)(char *)frag_off;
            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);
            *(uint *)&resultP->X_add_number = uVar19;
            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;
            if (uVar18 < frag_off._4_4_ ||
                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {
              bVar9 = bVar9 ^ 1;
              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';
              resultP->field_0x11 = bVar16;
            }
            else {
              bVar16 = resultP->field_0x11;
            }
            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);
            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);
            resultP->X_add_number = lVar5;
            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);
            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {
              bVar9 = bVar9 ^ 1;
            }
            resultP->field_0x10 = 2;
            resultP->X_add_symbol = (symbolS *)0x0;
            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';
            goto LAB_000224e0;
          }
        }
        cVar8 = resultP->field_0x10;
      }
      if (right._16_1_ == '\x02') {
        if (cVar8 != '\x05') goto LAB_00022980;
LAB_00022cb4:
        local_94._0_1_ = 0x14;
        goto LAB_00022406;
      }
    }
LAB_000223e8:
    uVar21 = right.X_add_number._4_4_;
    uVar19 = (uint)right.X_add_number;
    if (cVar8 != '\x02') {
LAB_000223f1:
      if ((cVar8 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;
      if (1 < oVar15 - O_add) {
        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||
            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;
        resultP->field_0x10 = (undefined1)local_94;
        resultP->X_op_symbol = right.X_add_symbol;
        goto LAB_00022442;
      }
      resultP->field_0x10 = (undefined1)local_94;
      resultP->X_op_symbol = right.X_add_symbol;
      if (oVar15 == O_add) {
        uVar19 = (uint)resultP->X_add_number;
        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);
        bVar9 = resultP->field_0x11;
        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);
        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;
        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;
        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;
        if (uVar21 <= uVar18 &&
            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)
        goto LAB_000229b7;
        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;
        goto LAB_00022442;
      }
      uVar19 = (uint)resultP->X_add_number;
      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);
      *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;
      *(uint *)((int)&resultP->X_add_number + 4) =
           (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);
      bVar16 = resultP->field_0x11;
      bVar9 = (right._17_1_ ^ bVar16) >> 1 & 1;
      if (uVar21 < right.X_add_number._4_4_ ||
          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)) {
        resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';
      }
      else {
        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;
      }
      puVar20 = PTR__bfd_std_section_0007ffb0;
      if (paVar12 != paVar6) goto LAB_00022450;
      if (paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)) {
LAB_00023318:
        local_80 = (segT)(puVar20 + 0x180);
        goto LAB_000224e0;
      }
      if (paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {
        if ((((reg_section == paVar6) || (expr_section == paVar6)) ||
            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||
           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;
        goto LAB_00023318;
      }
      goto LAB_000228f0;
    }
    if (right._16_1_ != '\x02') {
_L446:
LAB_00022406:
      psVar10 = make_expr_symbol(resultP);
      resultP->X_add_symbol = psVar10;
      psVar10 = make_expr_symbol(&right);
      *(undefined4 *)&resultP->X_add_number = 0;
      resultP->X_op_symbol = psVar10;
      resultP->field_0x10 = (undefined1)local_94;
      bVar16 = resultP->field_0x11;
      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;
      resultP->field_0x11 = bVar16 & 0xfc | 1;
      goto LAB_00022442;
    }
    local_5c = (uint)right.X_add_number;
    local_58 = right.X_add_number._4_4_;
    if (right.X_add_number._4_4_ == 0 && (uint)right.X_add_number == 0) {
      if (oVar15 - O_divide < 2) {
        pcVar11 = (char *)dcgettext(0,"division by zero",5);
        as_warn(pcVar11);
        local_5c = 1;
        local_58 = 0;
      }
    }
    else if ((right.X_add_number._4_4_ != 0 ||
              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&
            (oVar15 - O_left_shift < 2)) {
      pcVar11 = (char *)dcgettext(0,"shift count",5);
      as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);
      *(undefined4 *)&resultP->X_add_number = 0;
      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;
      local_5c = 0;
      local_58 = 0;
    }
    switch(oVar15) {
    case O_multiply:
      iVar13 = *(int *)((int)&resultP->X_add_number + 4);
      oVar23 = resultP->X_add_number;
      lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number;
      *(int *)&resultP->X_add_number = (int)lVar5;
      *(uint *)((int)&resultP->X_add_number + 4) =
           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58;
      break;
    case O_divide:
      oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),
                        local_5c,local_58);
      resultP->X_add_number = oVar23;
      break;
    case O_modulus:
      oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),
                        local_5c,local_58);
      resultP->X_add_number = oVar23;
      break;
    case O_left_shift:
      uVar19 = (uint)resultP->X_add_number;
      uVar18 = uVar19 << ((byte)local_5c & 0x1f);
      uVar21 = uVar18;
      uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |
               uVar19 >> 0x20 - ((byte)local_5c & 0x1f);
      if ((local_5c & 0x20) != 0) {
        uVar21 = 0;
        uVar19 = uVar18;
      }
      *(uint *)((int)&resultP->X_add_number + 4) = uVar19;
      *(uint *)&resultP->X_add_number = uVar21;
      break;
    case O_right_shift:
      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);
      uVar18 = uVar19 >> ((byte)local_5c & 0x1f);
      uVar21 = uVar18;
      uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |
               uVar19 << 0x20 - ((byte)local_5c & 0x1f);
      if ((local_5c & 0x20) != 0) {
        uVar21 = 0;
        uVar19 = uVar18;
      }
      *(uint *)&resultP->X_add_number = uVar19;
      *(uint *)((int)&resultP->X_add_number + 4) = uVar21;
      break;
    case O_bit_inclusive_or:
      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c;
      puVar2 = (uint *)((int)&resultP->X_add_number + 4);
      *puVar2 = *puVar2 | local_58;
      break;
    case O_bit_or_not:
      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c;
      puVar2 = (uint *)((int)&resultP->X_add_number + 4);
      *puVar2 = *puVar2 | ~local_58;
      break;
    case O_bit_exclusive_or:
      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c;
      puVar2 = (uint *)((int)&resultP->X_add_number + 4);
      *puVar2 = *puVar2 ^ local_58;
      break;
    case O_bit_and:
      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c;
      puVar2 = (uint *)((int)&resultP->X_add_number + 4);
      *puVar2 = *puVar2 & local_58;
      break;
    default:
      goto _L446;
    case O_subtract:
      uVar19 = (uint)resultP->X_add_number;
      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);
      *(uint *)&resultP->X_add_number = uVar19 - local_5c;
      *(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c);
      if (uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)) {
        resultP->field_0x11 =
             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;
      }
      break;
    case O_eq:
      uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&
                     *(uint *)((int)&resultP->X_add_number + 4) == local_58);
      goto LAB_00022ed0;
    case O_ne:
      uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||
                     *(uint *)((int)&resultP->X_add_number + 4) != local_58);
      goto LAB_00022ed0;
    case O_lt:
      iVar13 = *(int *)((int)&resultP->X_add_number + 4);
      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);
      iVar4 = iVar13 - local_58;
      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)
      goto LAB_00022d74;
LAB_00022d9e:
      uVar19 = 0;
      goto LAB_00022ed0;
    case O_le:
      piVar1 = (int *)((int)&resultP->X_add_number + 4);
      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);
      iVar13 = local_58 - *piVar1;
      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)
      goto LAB_00022d9e;
      goto LAB_00022d74;
    case O_ge:
      iVar13 = *(int *)((int)&resultP->X_add_number + 4);
      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);
      iVar4 = iVar13 - local_58;
      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)
      goto LAB_00022d9e;
      goto LAB_00022d74;
    case O_gt:
      piVar1 = (int *)((int)&resultP->X_add_number + 4);
      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);
      iVar13 = local_58 - *piVar1;
      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)
      goto LAB_00022d9e;
LAB_00022d74:
      uVar19 = 1;
LAB_00022ed0:
      *(uint *)&resultP->X_add_number = -uVar19;
      *(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0);
      break;
    case O_logical_and:
      oVar23 = resultP->X_add_number;
      iVar13 = *(int *)((int)&resultP->X_add_number + 4);
      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;
      *(uint *)&resultP->X_add_number =
           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0));
      break;
    case O_logical_or:
      oVar23 = resultP->X_add_number;
      iVar13 = *(int *)((int)&resultP->X_add_number + 4);
      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;
      *(uint *)&resultP->X_add_number =
           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0));
    }
LAB_00022442:
    if (paVar12 != paVar6) {
LAB_00022450:
      puVar20 = puVar7;
      if ((paVar6 == paVar17) || (paVar12 == paVar17)) {
LAB_000228f0:
        local_80 = (segT)(puVar20 + 0xc0);
      }
      else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&
               (local_80 = paVar6, reg_section != paVar6)) &&
              (((local_80 = paVar12, reg_section != paVar12 &&
                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&
               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&
                (local_80 = paVar6, oVar15 != O_subtract)))))) {
        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);
        as_bad(pcVar11);
      }
    }
LAB_000224e0:
    if (local_88 == O_illegal) break;
    paVar6 = local_80;
    oVar15 = local_88;
    oVar3 = op_rank[local_88];
  }
LAB_00022622:
  if (resultP->X_add_symbol != (symbolS *)0x0) {
    symbol_mark_used(resultP->X_add_symbol);
  }
  if (((char)rankarg == '\0') && (mode == expr_evaluate)) {
    resolve_expression(resultP);
  }
  if (resultP->field_0x10 == '\x02') {
    local_80 = (segT)(PTR__bfd_std_section_0007ffb0 + 0x180);
  }
  return local_80;
}



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

undefined * FUN_000221d0(int param_1,int *param_2,int param_3)

{
  longlong lVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined1 uVar4;
  byte bVar5;
  int iVar6;
  undefined4 uVar7;
  undefined *puVar8;
  char *pcVar9;
  undefined4 uVar10;
  int iVar11;
  char cVar12;
  byte bVar13;
  undefined *puVar14;
  uint uVar15;
  uint uVar16;
  byte *pbVar17;
  undefined *puVar18;
  uint uVar19;
  bool bVar20;
  undefined8 uVar21;
  longlong lVar22;
  longlong lVar23;
  int local_94;
  int local_88;
  undefined *local_80;
  int local_74;
  uint local_5c;
  uint local_58;
  byte local_3d;
  byte *local_3c;
  uint local_38;
  byte *local_30;
  int local_2c;
  uint local_28;
  uint local_24;
  char local_20;
  byte local_1f;
  undefined2 local_1e;
  undefined4 uStack_14;
  
  uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);
  uStack_14 = 0x221d9;
  if (param_1 < 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);
  }
  if ((char)param_1 == '\0') {
    uVar21 = FUN_00024dc0();
    DAT_00089ae8 = DAT_000898a0;
  }
  DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);
  DAT_00089ad8 = (undefined4)uVar21;
  local_80 = (undefined *)FUN_000236b0();
  if (*DAT_00089978 == 0x20) {
                    /* WARNING: Subroutine does not return */
    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);
  }
  uVar16 = (uint)*DAT_00089978;
  if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;
  if (((&DAT_000803c0)[uVar16] & 2) == 0) {
LAB_00022269:
    pbVar17 = DAT_00089978;
    if (uVar16 == 0x2d) {
LAB_000227c0:
      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);
      local_74 = 1;
      goto LAB_00022706;
    }
    if (uVar16 < 0x2e) {
      if (uVar16 == 0x26) {
        local_74 = (DAT_00089978[1] == 0x26) + 1;
        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;
      }
      else {
        if (uVar16 == 0x2b) goto LAB_000227c0;
        if (uVar16 != 0x21) goto LAB_000225c3;
        if (DAT_00089978[1] != 0x21) {
          iVar11 = 0x16;
          local_94 = 0x10;
          bVar20 = DAT_00089978[1] == 0x3d;
          goto LAB_000222ad;
        }
        local_74 = 2;
        local_94 = 0x11;
      }
    }
    else if (uVar16 == 0x3d) {
      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;
      local_74 = 2;
      local_94 = 0x15;
    }
    else if (uVar16 < 0x3e) {
      if (uVar16 == 0x3c) {
        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {
          local_74 = 2;
          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);
          goto LAB_00022706;
        }
        local_74 = 1;
        local_94 = 0x17;
      }
      else {
LAB_000225c3:
        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);
        if (local_94 == 0) {
          local_94 = FUN_00053d00(0,2,0);
          local_74 = 1;
          if (local_94 != 0) {
            local_74 = (int)DAT_00089978 - (int)pbVar17;
          }
          goto LAB_00022706;
        }
        local_74 = 1;
      }
    }
    else {
      if (uVar16 == 0x3e) {
        if (DAT_00089978[1] == 0x3d) {
          local_74 = 2;
          local_94 = 0x19;
          goto LAB_000222c3;
        }
        iVar11 = 0xe;
        local_94 = 0x1a;
        bVar20 = DAT_00089978[1] == 0x3e;
      }
      else {
        if (uVar16 != 0x7c) goto LAB_000225c3;
        iVar11 = 0x1c;
        local_94 = 0xf;
        bVar20 = DAT_00089978[1] == 0x7c;
      }
LAB_000222ad:
      if (bVar20) {
        local_94 = iVar11;
      }
      local_74 = bVar20 + 1;
    }
  }
  else {
    uVar4 = FUN_000220a0(&local_30);
    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);
    local_94 = FUN_00053d00(local_30,2,&local_3c);
    pbVar17 = local_30;
    if (local_94 == 1) {
      *DAT_00089978 = (byte)local_3c;
      DAT_00089978 = local_30;
      goto LAB_00022269;
    }
    if ((local_94 != 0) && (local_94 - 7U < 3)) {
      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);
      FUN_0002bd60(uVar7,pbVar17);
      local_94 = 0;
    }
    *DAT_00089978 = (byte)local_3c;
    pbVar17 = DAT_00089978;
    DAT_00089978 = local_30;
    local_74 = (int)pbVar17 - (int)local_30;
    pbVar17 = DAT_00089978;
LAB_00022706:
    DAT_00089978 = pbVar17;
    if (local_94 == 0) goto LAB_00022622;
  }
LAB_000222c3:
  puVar3 = PTR__bfd_std_section_0007ffb0;
  puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;
  cVar12 = (&DAT_00080220)[local_94];
  puVar2 = local_80;
  iVar11 = local_94;
  while (local_80 = puVar2, (char)param_1 < cVar12) {
    local_1e = 0;
    DAT_00089978 = DAT_00089978 + local_74;
    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);
    if (local_20 == '\x01') {
      uVar7 = dcgettext(0,"missing operand; zero assumed",5);
      FUN_0002bc80(uVar7);
      local_20 = '\x02';
      local_28 = 0;
      local_24 = 0;
      local_30 = (byte *)0x0;
      local_2c = 0;
    }
    bVar13 = *DAT_00089978;
    uVar16 = (uint)bVar13;
    if (bVar13 == 0x20) {
                    /* WARNING: Subroutine does not return */
      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);
    }
    pbVar17 = DAT_00089978;
    if (iVar11 == 0x1d) {
      if (bVar13 == 0x5d) {
        uVar16 = (uint)DAT_00089978[1];
        pbVar17 = DAT_00089978 + 1;
        if (DAT_00089978[1] == 0x20) {
          uVar16 = (uint)DAT_00089978[2];
          pbVar17 = DAT_00089978 + 2;
        }
        goto LAB_00022300;
      }
      FUN_0002bd60("missing right bracket");
      uVar16 = (uint)*DAT_00089978;
      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;
LAB_00022590:
      local_74 = 1;
      local_88 = 0;
    }
    else {
LAB_00022300:
      DAT_00089978 = pbVar17;
      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;
LAB_00022311:
      if (((&DAT_000803c0)[uVar16] & 2) == 0) {
        if (uVar16 == 0x2d) goto LAB_00023070;
LAB_00022328:
        pbVar17 = DAT_00089978;
        if (uVar16 < 0x2e) {
          if (uVar16 == 0x26) {
            bVar20 = iVar11 != 0x1d;
            local_74 = (DAT_00089978[1] == 0x26) + 1;
            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;
            DAT_00089978 = pbVar17;
          }
          else {
            if (uVar16 == 0x2b) goto LAB_00023070;
            if (uVar16 != 0x21) goto LAB_00022883;
            bVar20 = iVar11 != 0x1d;
            bVar13 = DAT_00089978[1];
            if (bVar13 == 0x21) {
              local_74 = 2;
              local_88 = 0x11;
              DAT_00089978 = pbVar17;
            }
            else {
              local_74 = (bVar13 == 0x3d) + 1;
              local_88 = 0x10;
              DAT_00089978 = pbVar17;
              if (bVar13 == 0x3d) {
                local_88 = 0x16;
              }
            }
          }
        }
        else if (uVar16 == 0x3d) {
          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;
          bVar20 = iVar11 != 0x1d;
          local_74 = 2;
          local_88 = 0x15;
          DAT_00089978 = pbVar17;
        }
        else if (uVar16 < 0x3e) {
          if (uVar16 == 0x3c) {
            bVar20 = iVar11 != 0x1d;
            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {
              local_74 = 2;
              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);
              bVar20 = bVar20 && local_88 != 0;
              DAT_00089978 = pbVar17;
            }
            else {
              local_74 = 1;
              local_88 = 0x17;
              DAT_00089978 = pbVar17;
            }
          }
          else {
LAB_00022883:
            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);
            bVar20 = iVar11 != 0x1d;
            local_74 = 1;
            DAT_00089978 = pbVar17;
            if (local_88 == 0) {
              local_88 = FUN_00053d00(0,2,0);
              if (local_88 != 0) {
                local_74 = (int)DAT_00089978 - (int)pbVar17;
              }
              bVar20 = bVar20 && local_88 != 0;
              DAT_00089978 = pbVar17;
            }
          }
        }
        else if (uVar16 == 0x3e) {
          bVar20 = iVar11 != 0x1d;
          bVar13 = DAT_00089978[1];
          if (bVar13 == 0x3d) {
            local_74 = 2;
            local_88 = 0x19;
            DAT_00089978 = pbVar17;
          }
          else {
            local_74 = (bVar13 == 0x3e) + 1;
            local_88 = 0x1a;
            DAT_00089978 = pbVar17;
            if (bVar13 == 0x3e) {
              local_88 = 0xe;
            }
          }
        }
        else {
          if (uVar16 != 0x7c) goto LAB_00022883;
          bVar20 = iVar11 != 0x1d;
          local_74 = (DAT_00089978[1] == 0x7c) + 1;
          local_88 = 0xf;
          DAT_00089978 = pbVar17;
          if (DAT_00089978[1] == 0x7c) {
            local_88 = 0x1c;
          }
        }
      }
      else {
        local_3d = FUN_000220a0(&local_3c);
        local_88 = FUN_00053d00(local_3c,2,&local_3d);
        pbVar17 = local_3c;
        if (local_88 != 1) {
          if ((local_88 == 0) || (2 < local_88 - 7U)) {
            bVar20 = iVar11 != 0x1d && local_88 != 0;
          }
          else {
            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);
            FUN_0002bd60(uVar7,pbVar17);
            bVar20 = false;
            local_88 = 0;
          }
          *DAT_00089978 = local_3d;
          pbVar17 = DAT_00089978;
          DAT_00089978 = local_3c;
          local_74 = (int)pbVar17 - (int)local_3c;
          goto LAB_00022388;
        }
        *DAT_00089978 = local_3d;
        DAT_00089978 = local_3c;
        if (uVar16 != 0x2d) goto LAB_00022328;
LAB_00023070:
        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);
        local_74 = 1;
        bVar20 = local_88 != 0 && iVar11 != 0x1d;
      }
LAB_00022388:
      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {
                    /* WARNING: Subroutine does not return */
        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);
      }
    }
    if (iVar11 < 10) {
                    /* WARNING: Subroutine does not return */
      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);
    }
    if (0x3d < iVar11) {
                    /* WARNING: Subroutine does not return */
      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);
    }
    if ((char)param_2[4] == '\x06') {
      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {
        pcVar9 = "left operand is a bignum; integer 0 assumed";
      }
      else {
        pcVar9 = "left operand is a float; integer 0 assumed";
      }
      uVar7 = dcgettext(0,pcVar9,5);
      FUN_0002bc80(uVar7);
      *(undefined1 *)(param_2 + 4) = 2;
      param_2[2] = 0;
      param_2[3] = 0;
      *param_2 = 0;
      param_2[1] = 0;
    }
    local_94._0_1_ = (undefined1)iVar11;
    if (local_20 == '\x06') {
      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {
        pcVar9 = "right operand is a bignum; integer 0 assumed";
      }
      else {
        pcVar9 = "right operand is a float; integer 0 assumed";
      }
      uVar7 = dcgettext(0,pcVar9,5);
      FUN_0002bc80(uVar7);
      local_20 = '\x02';
      local_28 = 0;
      local_24 = 0;
      local_30 = (byte *)0x0;
      local_2c = 0;
      if (iVar11 != 0x13) {
        cVar12 = (char)param_2[4];
        if (iVar11 != 0x14) goto LAB_000223e8;
        if (cVar12 == '\x05') goto LAB_00022cb4;
LAB_00022980:
        uVar16 = param_2[2];
        uVar19 = param_2[3];
        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);
        bVar5 = *(byte *)((int)param_2 + 0x11);
        param_2[2] = uVar16 - local_28;
        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;
        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;
LAB_000229b7:
        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;
        goto LAB_00022442;
      }
      if ((char)param_2[4] != '\x05') {
        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;
LAB_00023225:
        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';
        goto LAB_00022442;
      }
LAB_00022c1a:
      local_94._0_1_ = 0x13;
      goto LAB_00022406;
    }
    if (iVar11 == 0x13) {
      if (local_20 == '\x02') {
        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;
        uVar16 = param_2[2];
        uVar19 = param_2[3];
        bVar5 = *(byte *)((int)param_2 + 0x11);
        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);
        param_2[3] = uVar15;
        param_2[2] = uVar16 + local_28;
        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;
        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)
        goto LAB_00023225;
LAB_0002301d:
        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;
        goto LAB_00022442;
      }
      cVar12 = (char)param_2[4];
      if (cVar12 != '\x02') goto LAB_000223f1;
      if (local_20 == '\x05') goto LAB_00022a33;
      uVar16 = param_2[3];
      *(char *)(param_2 + 4) = local_20;
      *param_2 = (int)local_30;
      param_2[1] = local_2c;
      uVar19 = param_2[2];
      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);
      param_2[2] = uVar19 + local_28;
      param_2[3] = uVar15;
      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;
      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {
        bVar13 = bVar13 ^ 1;
      }
      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;
      local_80 = puVar8;
      goto LAB_000224e0;
    }
    cVar12 = (char)param_2[4];
    if (iVar11 == 0x14) {
      if (local_20 == '\x03') {
        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;
        pbVar17 = (byte *)*param_2;
        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||
           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||
            (DAT_00089720 == puVar8)))) {
LAB_00022c90:
          if (local_30 == pbVar17) goto LAB_000234b2;
        }
        else {
          iVar6 = FUN_00038720(pbVar17,0);
          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {
            pbVar17 = (byte *)*param_2;
            goto LAB_00022c90;
          }
LAB_000234b2:
          uVar7 = FUN_0003b830(pbVar17);
          uVar10 = FUN_0003b830(*param_2);
          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);
          if (iVar6 != 0) {
            lVar22 = FUN_0003a3c0(*param_2);
            lVar23 = FUN_0003a3c0(local_30);
            uVar16 = param_2[3];
            uVar19 = param_2[2];
            pbVar17 = (byte *)(uVar19 - local_28);
            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);
            param_2[3] = uVar15;
            bVar13 = *(byte *)((int)param_2 + 0x11);
            param_2[2] = (int)pbVar17;
            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;
            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {
              bVar5 = bVar5 ^ 1;
              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';
            }
            else {
              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';
            }
            uVar16 = (int)pbVar17 - (int)local_3c;
            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);
            param_2[2] = uVar16;
            param_2[3] = uVar19;
            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {
              bVar5 = bVar5 ^ 1;
              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';
              *(byte *)((int)param_2 + 0x11) = bVar13;
            }
            else {
              bVar13 = *(byte *)((int)param_2 + 0x11);
            }
            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);
            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);
            *(longlong *)(param_2 + 2) = lVar1;
            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);
            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {
              bVar5 = bVar5 ^ 1;
            }
            *(undefined1 *)(param_2 + 4) = 2;
            *param_2 = 0;
            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';
            goto LAB_000224e0;
          }
        }
        cVar12 = (char)param_2[4];
      }
      if (local_20 == '\x02') {
        if (cVar12 != '\x05') goto LAB_00022980;
LAB_00022cb4:
        local_94._0_1_ = 0x14;
        goto LAB_00022406;
      }
    }
LAB_000223e8:
    uVar19 = local_24;
    uVar16 = local_28;
    if (cVar12 != '\x02') {
LAB_000223f1:
      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;
      if (1 < iVar11 - 0x13U) {
        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))
        goto LAB_00022406;
        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;
        param_2[1] = (int)local_30;
        goto LAB_00022442;
      }
      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;
      param_2[1] = (int)local_30;
      if (iVar11 == 0x13) {
        uVar16 = param_2[2];
        uVar19 = param_2[3];
        bVar5 = *(byte *)((int)param_2 + 0x11);
        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);
        param_2[3] = uVar15;
        param_2[2] = uVar16 + local_28;
        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;
        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)
        goto LAB_000229b7;
        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;
        goto LAB_00022442;
      }
      uVar16 = param_2[2];
      uVar19 = param_2[3];
      param_2[2] = uVar16 - local_28;
      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);
      bVar13 = *(byte *)((int)param_2 + 0x11);
      bVar5 = (local_1f ^ bVar13) >> 1 & 1;
      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {
        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';
      }
      else {
        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;
      }
      puVar18 = PTR__bfd_std_section_0007ffb0;
      if (puVar8 != puVar2) goto LAB_00022450;
      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {
LAB_00023318:
        local_80 = puVar18 + 0x180;
        goto LAB_000224e0;
      }
      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {
        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||
            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||
           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;
        goto LAB_00023318;
      }
      goto LAB_000228f0;
    }
    if (local_20 != '\x02') {
LAB_00022a33:
LAB_00022406:
      iVar6 = FUN_00021220(param_2);
      *param_2 = iVar6;
      iVar6 = FUN_00021220(&local_30);
      param_2[2] = 0;
      param_2[1] = iVar6;
      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;
      param_2[3] = 0;
      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;
      goto LAB_00022442;
    }
    local_5c = local_28;
    local_58 = local_24;
    if (local_24 == 0 && local_28 == 0) {
      if (iVar11 - 0xbU < 2) {
        uVar7 = dcgettext(0,"division by zero",5);
        FUN_0002bc80(uVar7);
        local_5c = 1;
        local_58 = 0;
      }
    }
    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {
      uVar7 = dcgettext(0,"shift count",5);
      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);
      param_2[2] = 0;
      param_2[3] = 0;
      local_5c = 0;
      local_58 = 0;
    }
    switch(iVar11) {
    case 10:
      iVar6 = param_2[2];
      uVar16 = param_2[2];
      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);
      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +
                   param_2[3] * local_5c + iVar6 * local_58;
      break;
    case 0xb:
      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);
      *(undefined8 *)(param_2 + 2) = uVar21;
      break;
    case 0xc:
      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);
      *(undefined8 *)(param_2 + 2) = uVar21;
      break;
    case 0xd:
      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);
      uVar19 = uVar15;
      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |
               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);
      if ((local_5c & 0x20) != 0) {
        uVar19 = 0;
        uVar16 = uVar15;
      }
      param_2[3] = uVar16;
      param_2[2] = uVar19;
      break;
    case 0xe:
      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);
      uVar19 = uVar15;
      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |
               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);
      if ((local_5c & 0x20) != 0) {
        uVar19 = 0;
        uVar16 = uVar15;
      }
      param_2[2] = uVar16;
      param_2[3] = uVar19;
      break;
    case 0xf:
      param_2[2] = param_2[2] | local_5c;
      param_2[3] = param_2[3] | local_58;
      break;
    case 0x10:
      param_2[2] = param_2[2] | ~local_5c;
      param_2[3] = param_2[3] | ~local_58;
      break;
    case 0x11:
      param_2[2] = param_2[2] ^ local_5c;
      param_2[3] = param_2[3] ^ local_58;
      break;
    case 0x12:
      param_2[2] = param_2[2] & local_5c;
      param_2[3] = param_2[3] & local_58;
      break;
    default:
      goto LAB_00022a33;
    case 0x14:
      uVar16 = param_2[2];
      uVar19 = param_2[3];
      param_2[2] = uVar16 - local_5c;
      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);
      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {
        *(byte *)((int)param_2 + 0x11) =
             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |
             *(byte *)((int)param_2 + 0x11) & 0xfd;
      }
      break;
    case 0x15:
      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);
      goto code_r0x00022ed0;
    case 0x16:
      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);
      goto code_r0x00022ed0;
    case 0x17:
      iVar6 = param_2[3] - local_58;
      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=
          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;
code_r0x00022d9e:
      uVar16 = 0;
      goto code_r0x00022ed0;
    case 0x18:
      iVar6 = local_58 - param_2[3];
      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=
          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;
      goto code_r0x00022d74;
    case 0x19:
      iVar6 = param_2[3] - local_58;
      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=
          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;
      goto code_r0x00022d74;
    case 0x1a:
      iVar6 = local_58 - param_2[3];
      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==
          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;
code_r0x00022d74:
      uVar16 = 1;
code_r0x00022ed0:
      param_2[2] = -uVar16;
      param_2[3] = -(uint)(uVar16 != 0);
      break;
    case 0x1b:
      iVar6 = param_2[3];
      param_2[3] = 0;
      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));
      break;
    case 0x1c:
      iVar6 = param_2[3];
      param_2[3] = 0;
      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));
    }
LAB_00022442:
    if (puVar8 != puVar2) {
LAB_00022450:
      puVar18 = puVar3;
      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {
LAB_000228f0:
        local_80 = puVar18 + 0xc0;
      }
      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&
               (local_80 = puVar2, DAT_000897ec != puVar2)) &&
              (((local_80 = puVar8, DAT_000897ec != puVar8 &&
                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&
               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))
               )))) {
        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);
        FUN_0002bd60(uVar7);
      }
    }
LAB_000224e0:
    if (local_88 == 0) break;
    puVar2 = local_80;
    iVar11 = local_88;
    cVar12 = (&DAT_00080220)[local_88];
  }
LAB_00022622:
  if (*param_2 != 0) {
    FUN_0003b860(*param_2);
  }
  if (((char)param_1 == '\0') && (param_3 == 0)) {
    FUN_00021620(param_2);
  }
  if ((char)param_2[4] == '\x02') {
    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;
  }
  return local_80;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x5de27
SUB ESP,0x8c
MOVZX EAX,byte ptr [ESP + 0xa0]
MOV EDI,dword ptr [ESP + 0xa4]
MOV byte ptr [ESP + 0x3b],AL
MOV EAX,dword ptr [ESP + 0xa0]
TEST EAX,EAX
JS 0x00023694
CMP byte ptr [ESP + 0xa0],0x0
JZ 0x00022720
MOV EDX,dword ptr [ESP + 0xa8]
MOV EAX,EDI
CALL 0x000236b0
MOV dword ptr [ESP + 0x1c],EAX
LEA EAX,[EBX + 0x9978]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EAX]
MOVZX EAX,byte ptr [EAX]
CMP AL,0x20
JZ 0x0002367b
MOVZX EBP,AL
LEA EAX,[EBX + 0x2c0]
CMP byte ptr [EAX + EBP*0x1],0x0
MOV dword ptr [ESP + 0x34],EAX
JNZ 0x00022622
LEA EAX,[EBX + 0x3c0]
MOV dword ptr [ESP + 0x48],EAX
TEST byte ptr [EAX + EBP*0x1],0x2
JNZ 0x00022680
CMP EBP,0x2d
JZ 0x000227c0
JLE 0x000225a8
CMP EBP,0x3d
JZ 0x000227d8
JLE 0x000225e8
CMP EBP,0x3e
JZ 0x00022770
CMP EBP,0x7c
JNZ 0x000225c3
MOV EAX,dword ptr [ESP + 0x18]
MOV ECX,0x1c
MOV ESI,0xf
MOV EAX,dword ptr [EAX]
CMP byte ptr [EAX + 0x1],0x7c
SETZ DL
MOV EBP,ESI
CMOVZ EBP,ECX
MOVZX EDX,DL
ADD EDX,0x1
MOV dword ptr [ESP + 0x28],EDX
MOV dword ptr [ESP + 0x8],EBP
LEA EDX,[ESP + 0x6c]
MOVSX EAX,byte ptr [EBX + EBP*0x1 + 0x220]
MOV ESI,EBP
MOV EBP,EDI
MOV dword ptr [ESP + 0x2c],EDX
MOV EDX,dword ptr [EBX + 0xffffffb0]
MOV dword ptr [ESP + 0x3c],EDX
ADD EDX,0xc0
MOV dword ptr [ESP + 0x30],EDX
CMP AL,byte ptr [ESP + 0xa0]
JG 0x00022506
JMP 0x00022622
MOVZX EDI,AL
MOV EAX,dword ptr [ESP + 0x34]
CMP byte ptr [EAX + EDI*0x1],0x0
JNZ 0x00022590
MOV EAX,dword ptr [ESP + 0x48]
TEST byte ptr [EAX + EDI*0x1],0x2
JNZ 0x00022ac0
CMP EDI,0x2d
JZ 0x00023070
JLE 0x00022868
CMP EDI,0x3d
JZ 0x00023118
JLE 0x00022820
CMP EDI,0x3e
JZ 0x00023148
CMP EDI,0x7c
JNZ 0x00022883
MOV EAX,dword ptr [ESP + 0x18]
CMP dword ptr [ESP + 0x8],0x1d
SETNZ DL
XOR ECX,ECX
MOV EAX,dword ptr [EAX]
CMP byte ptr [EAX + 0x1],0x7c
SETZ CL
ADD ECX,0x1
CMP byte ptr [EAX + 0x1],0x7c
MOV EAX,0xf
MOV dword ptr [ESP + 0x28],ECX
MOV ECX,0x1c
CMOVZ EAX,ECX
MOV dword ptr [ESP + 0x14],EAX
LEA ESI,[ESI]
TEST DL,DL
JZ 0x000223a5
MOV EDX,dword ptr [ESP + 0x14]
MOVZX EAX,byte ptr [EBX + ESI*0x1 + 0x220]
CMP byte ptr [EBX + EDX*0x1 + 0x220],AL
JG 0x00023660
CMP ESI,0x9
JLE 0x0002362a
CMP ESI,0x3d
JG 0x0002360f
CMP byte ptr [EBP + 0x10],0x6
JZ 0x000229d0
MOVZX EAX,byte ptr [ESP + 0x7c]
CMP AL,0x6
JZ 0x00022900
CMP dword ptr [ESP + 0x8],0x13
JZ 0x00022a40
CMP dword ptr [ESP + 0x8],0x14
MOVZX EDX,byte ptr [EBP + 0x10]
JZ 0x00022c28
CMP DL,0x2
JZ 0x00022a28
MOVZX EDI,byte ptr [ESP + 0x8]
CMP DL,0x3
JNZ 0x00022406
CMP byte ptr [ESP + 0x7c],0x3
JZ 0x00022fa0
SUB ESP,0xc
PUSH EBP
CALL 0x00021220
MOV dword ptr [EBP],EAX
POP ECX
PUSH dword ptr [ESP + 0x38]
CALL 0x00021220
MOV dword ptr [EBP + 0x8],0x0
ADD ESP,0x10
MOV dword ptr [EBP + 0x4],EAX
MOV EAX,EDI
MOV byte ptr [EBP + 0x10],AL
MOVZX EAX,byte ptr [EBP + 0x11]
MOV dword ptr [EBP + 0xc],0x0
AND EAX,0xfffffffc
OR EAX,0x1
MOV byte ptr [EBP + 0x11],AL
MOV EDX,dword ptr [ESP + 0x1c]
CMP dword ptr [ESP + 0x20],EDX
JZ 0x000224e0
MOV EDI,dword ptr [ESP + 0x3c]
MOV EDX,dword ptr [ESP + 0x30]
CMP dword ptr [ESP + 0x1c],EDX
JZ 0x000228f0
MOV ECX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [ESP + 0x30]
CMP ECX,EAX
JZ 0x000228f0
LEA EAX,[EBX + 0x9720]
MOV ESI,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EAX]
CMP EAX,ESI
JZ 0x000224e0
CMP EAX,ECX
JZ 0x00022c00
LEA EAX,[EBX + 0x97ec]
MOV EAX,dword ptr [EAX]
CMP EAX,ESI
JZ 0x000224e0
CMP EAX,ECX
JZ 0x00022c00
MOV EAX,dword ptr [ESP + 0x3c]
ADD EAX,0x180
CMP ECX,EAX
JZ 0x000224e0
CMP ESI,EAX
JZ 0x00022c00
CMP dword ptr [ESP + 0x8],0x14
JZ 0x000224e0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddda4]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002bd60
ADD ESP,0x10
LEA ESI,[ESI]
NOP
MOV EDX,dword ptr [ESP + 0x14]
TEST EDX,EDX
JZ 0x00022620
MOV ESI,dword ptr [ESP + 0x14]
MOVSX EAX,byte ptr [EBX + ESI*0x1 + 0x220]
MOV dword ptr [ESP + 0x8],ESI
CMP AL,byte ptr [ESP + 0x3b]
JLE 0x00022620
MOV EDI,dword ptr [ESP + 0x18]
XOR EDX,EDX
MOV ECX,dword ptr [ESP + 0x28]
SUB ESP,0x4
MOV word ptr [ESP + 0x82],DX
ADD dword ptr [EDI],ECX
PUSH dword ptr [ESP + 0xac]
PUSH dword ptr [ESP + 0x34]
PUSH EAX
CALL 0x000221d0
MOV dword ptr [ESP + 0x30],EAX
ADD ESP,0x10
CMP byte ptr [ESP + 0x7c],0x1
JZ 0x00022b58
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [EAX]
MOVZX EAX,byte ptr [EDX]
CMP AL,0x20
JZ 0x00023645
CMP dword ptr [ESP + 0x8],0x1d
JNZ 0x00022300
CMP AL,0x5d
JZ 0x00022bb0
SUB ESP,0xc
LEA EAX,[EBX + 0xfffddb55]
PUSH EAX
CALL 0x0002bd60
MOV EAX,dword ptr [ESP + 0x28]
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
MOVZX EAX,byte ptr [EAX]
MOVZX EDI,AL
MOV EAX,dword ptr [ESP + 0x34]
CMP byte ptr [EAX + EDI*0x1],0x0
JZ 0x00022311
MOV dword ptr [ESP + 0x28],0x1
MOV dword ptr [ESP + 0x14],0x0
JMP 0x000223a5
CMP EBP,0x26
JZ 0x00022798
CMP EBP,0x2b
JZ 0x000227c0
CMP EBP,0x21
JZ 0x00022748
MOV EBP,dword ptr [EBX + EBP*0x4 + 0xfffde220]
MOV dword ptr [ESP + 0x8],EBP
TEST EBP,EBP
JZ 0x0002345b
MOV dword ptr [ESP + 0x28],0x1
JMP 0x000222c3
CMP EBP,0x3c
JNZ 0x000225c3
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX]
MOVZX EAX,byte ptr [EAX + 0x1]
SUB EAX,0x3c
CMP AL,0x2
JA 0x0002340d
MOVZX EAX,AL
MOV dword ptr [ESP + 0x28],0x2
MOV EAX,dword ptr [EBX + EAX*0x4 + 0xfffde1e4]
MOV dword ptr [ESP + 0x8],EAX
JMP 0x00022706
MOV EDI,EBP
MOV EAX,dword ptr [EDI]
TEST EAX,EAX
JZ 0x00022634
SUB ESP,0xc
PUSH EAX
CALL 0x0003b860
ADD ESP,0x10
CMP byte ptr [ESP + 0xa0],0x0
JNZ 0x00022649
MOV EAX,dword ptr [ESP + 0xa8]
TEST EAX,EAX
JZ 0x00022670
CMP byte ptr [EDI + 0x10],0x2
JNZ 0x0002265e
MOV EAX,dword ptr [EBX + 0xffffffb0]
ADD EAX,0x180
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [ESP + 0x1c]
ADD ESP,0x8c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH EDI
CALL 0x00021620
ADD ESP,0x10
JMP 0x00022649
SUB ESP,0xc
LEA EAX,[ESP + 0x78]
PUSH EAX
CALL 0x000220a0
MOV byte ptr [ESP + 0x70],AL
ADD ESP,0xc
LEA EAX,[ESP + 0x64]
PUSH EAX
PUSH 0x2
PUSH dword ptr [ESP + 0x78]
CALL 0x00053d00
MOV dword ptr [ESP + 0x18],EAX
ADD ESP,0x10
CMP EAX,0x1
JZ 0x00022802
TEST EAX,EAX
JZ 0x000226eb
SUB EAX,0x7
CMP EAX,0x2
JA 0x000226eb
MOV EBP,dword ptr [ESP + 0x6c]
LEA EAX,[EBX + 0xfffddb1a]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
POP ECX
POP ESI
PUSH EBP
PUSH EAX
CALL 0x0002bd60
ADD ESP,0x10
MOV dword ptr [ESP + 0x8],0x0
MOV ECX,dword ptr [ESP + 0x18]
MOVZX EDX,byte ptr [ESP + 0x60]
MOV EAX,dword ptr [ECX]
MOV byte ptr [EAX],DL
MOV EAX,dword ptr [ESP + 0x6c]
MOV ESI,dword ptr [ECX]
MOV dword ptr [ECX],EAX
SUB ESI,EAX
MOV dword ptr [ESP + 0x28],ESI
MOV EBP,dword ptr [ESP + 0x8]
TEST EBP,EBP
JNZ 0x000222c3
JMP 0x00022622
CALL 0x00024dc0
LEA ECX,[EBX + 0x9ad8]
MOV dword ptr [ECX],EAX
LEA EAX,[EBX + 0x98a0]
MOV dword ptr [ECX + 0x4],EDX
MOV EDX,dword ptr [EAX]
LEA EAX,[EBX + 0x9ae8]
MOV dword ptr [EAX],EDX
JMP 0x00022215
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX]
MOVZX EAX,byte ptr [EAX + 0x1]
CMP AL,0x21
JZ 0x00023427
MOV ECX,0x16
MOV ESI,0x10
CMP AL,0x3d
JMP 0x000222ad
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX]
MOVZX EAX,byte ptr [EAX + 0x1]
CMP AL,0x3d
JZ 0x00023441
MOV ECX,0xe
MOV ESI,0x1a
CMP AL,0x3e
JMP 0x000222ad
MOV EAX,dword ptr [ESP + 0x18]
XOR ECX,ECX
MOV EAX,dword ptr [EAX]
CMP byte ptr [EAX + 0x1],0x26
SETZ CL
MOV EBP,ECX
ADD ECX,0x1
LEA EBP,[EBP + EBP*0x8 + 0x12]
MOV dword ptr [ESP + 0x28],ECX
MOV dword ptr [ESP + 0x8],EBP
JMP 0x000222c3
MOV EAX,dword ptr [EBX + EBP*0x4 + 0xfffde220]
MOV dword ptr [ESP + 0x28],0x1
MOV dword ptr [ESP + 0x8],EAX
JMP 0x00022706
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX]
CMP byte ptr [EAX + 0x1],0x3d
JNZ 0x00022622
MOV EBP,0x15
MOV dword ptr [ESP + 0x28],0x2
MOV dword ptr [ESP + 0x8],0x15
JMP 0x000222c3
MOV ECX,dword ptr [ESP + 0x18]
MOVZX EDX,byte ptr [ESP + 0x60]
MOV EAX,dword ptr [ECX]
MOV byte ptr [EAX],DL
MOV EAX,dword ptr [ESP + 0x6c]
MOV dword ptr [ECX],EAX
JMP 0x00022269
CMP EDI,0x3c
JNZ 0x00022883
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX]
MOVZX EAX,byte ptr [EAX + 0x1]
SUB EAX,0x3c
CMP dword ptr [ESP + 0x8],0x1d
SETNZ DL
CMP AL,0x2
JA 0x00023330
MOVZX EAX,AL
MOV dword ptr [ESP + 0x28],0x2
MOV EAX,dword ptr [EBX + EAX*0x4 + 0xfffde1e4]
TEST EAX,EAX
MOV dword ptr [ESP + 0x14],EAX
SETNZ AL
AND EDX,EAX
JMP 0x00022388
CMP EDI,0x26
JZ 0x000230e0
CMP EDI,0x2b
JZ 0x00023070
CMP EDI,0x21
JZ 0x000230a0
MOV EAX,dword ptr [EBX + EDI*0x4 + 0xfffde220]
CMP dword ptr [ESP + 0x8],0x1d
MOV dword ptr [ESP + 0x28],0x1
SETNZ DL
MOV dword ptr [ESP + 0x14],EAX
TEST EAX,EAX
JNZ 0x00022388
MOV EAX,dword ptr [ESP + 0x18]
MOV byte ptr [ESP + 0x40],DL
SUB ESP,0x4
MOV EDI,dword ptr [EAX]
PUSH 0x0
PUSH 0x2
PUSH 0x0
CALL 0x00053d00
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
TEST EAX,EAX
MOVZX EDX,byte ptr [ESP + 0x40]
JZ 0x000228da
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX]
SUB EAX,EDI
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [EAX],EDI
MOV EAX,dword ptr [ESP + 0x14]
TEST EAX,EAX
SETNZ AL
AND EDX,EAX
JMP 0x00022388
LEA EAX,[EDI + 0xc0]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x000224e0
XOR EAX,EAX
CMP EAX,dword ptr [ESP + 0x74]
SBB EAX,dword ptr [ESP + 0x78]
JGE 0x00022bd8
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddd48]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002bc80
ADD ESP,0x10
CMP dword ptr [ESP + 0x8],0x13
MOV byte ptr [ESP + 0x7c],0x2
MOV dword ptr [ESP + 0x74],0x0
MOV dword ptr [ESP + 0x78],0x0
MOV dword ptr [ESP + 0x6c],0x0
MOV dword ptr [ESP + 0x70],0x0
JZ 0x00022c10
CMP dword ptr [ESP + 0x8],0x14
MOVZX EDX,byte ptr [EBP + 0x10]
JNZ 0x000223e8
CMP DL,0x5
JZ 0x00022cb4
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBP + 0xc]
MOV ESI,EAX
MOV EDI,EDX
SUB ESI,dword ptr [ESP + 0x74]
SBB EDI,dword ptr [ESP + 0x78]
MOV dword ptr [EBP + 0xc],EDI
MOVZX EDI,byte ptr [EBP + 0x11]
MOV dword ptr [EBP + 0x8],ESI
MOV ECX,EDI
XOR CL,byte ptr [ESP + 0x7d]
SHR CL,0x1
AND ECX,0x1
CMP EAX,dword ptr [ESP + 0x74]
MOV EAX,EDX
SBB EAX,dword ptr [ESP + 0x78]
JC 0x0002301d
ADD ECX,ECX
AND EDI,0xfffffffd
OR ECX,EDI
MOV byte ptr [EBP + 0x11],CL
JMP 0x00022442
XOR EAX,EAX
CMP EAX,dword ptr [EBP + 0x8]
SBB EAX,dword ptr [EBP + 0xc]
JGE 0x00022bf0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddcf0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002bc80
ADD ESP,0x10
MOV byte ptr [EBP + 0x10],0x2
MOV dword ptr [EBP + 0x8],0x0
MOV dword ptr [EBP + 0xc],0x0
MOV dword ptr [EBP],0x0
MOV dword ptr [EBP + 0x4],0x0
JMP 0x000223c1
CMP byte ptr [ESP + 0x7c],0x2
JZ 0x00022cc0
MOVZX EDI,byte ptr [ESP + 0x8]
JMP 0x00022406
CMP AL,0x2
JZ 0x00022fda
MOVZX EDX,byte ptr [EBP + 0x10]
CMP DL,0x2
JNZ 0x000223f1
CMP AL,0x5
JZ 0x00022a33
MOV EDX,dword ptr [EBP + 0xc]
MOVZX EDI,byte ptr [EBP + 0x11]
MOV byte ptr [EBP + 0x10],AL
MOV EAX,dword ptr [ESP + 0x6c]
MOV dword ptr [ESP + 0xc],EDX
MOV ECX,EDX
MOV dword ptr [EBP],EAX
MOV EAX,dword ptr [ESP + 0x70]
MOV dword ptr [EBP + 0x4],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [ESP + 0x8],EAX
MOV EDX,EAX
MOV EAX,EDI
ADD EDX,dword ptr [ESP + 0x74]
ADC ECX,dword ptr [ESP + 0x78]
XOR AL,byte ptr [ESP + 0x7d]
MOV dword ptr [EBP + 0x8],EDX
SHR AL,0x1
MOV ESI,ECX
MOV dword ptr [EBP + 0xc],ECX
AND EAX,0x1
CMP EDX,dword ptr [ESP + 0x8]
SBB ESI,dword ptr [ESP + 0xc]
JNC 0x00022aa8
XOR EAX,0x1
ADD EAX,EAX
AND EDI,0xfffffffd
OR EAX,EDI
MOV byte ptr [EBP + 0x11],AL
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x000224e0
SUB ESP,0xc
LEA EAX,[ESP + 0x6c]
PUSH EAX
CALL 0x000220a0
MOV byte ptr [ESP + 0x6f],AL
ADD ESP,0xc
LEA EAX,[ESP + 0x63]
PUSH EAX
PUSH 0x2
PUSH dword ptr [ESP + 0x6c]
CALL 0x00053d00
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
CMP EAX,0x1
JZ 0x00023050
TEST EAX,EAX
JZ 0x00023030
SUB EAX,0x7
CMP EAX,0x2
JA 0x00023030
MOV EDI,dword ptr [ESP + 0x60]
LEA EAX,[EBX + 0xfffddb1a]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x0002bd60
ADD ESP,0x10
XOR EDX,EDX
MOV dword ptr [ESP + 0x14],0x0
MOV EDI,dword ptr [ESP + 0x18]
MOVZX ECX,byte ptr [ESP + 0x5f]
MOV EAX,dword ptr [EDI]
MOV byte ptr [EAX],CL
MOV EAX,dword ptr [ESP + 0x60]
MOV ECX,dword ptr [EDI]
MOV dword ptr [EDI],EAX
SUB ECX,EAX
MOV dword ptr [ESP + 0x28],ECX
JMP 0x00022388
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddb37]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002bc80
MOV byte ptr [ESP + 0x8c],0x2
MOV dword ptr [ESP + 0x84],0x0
MOV dword ptr [ESP + 0x88],0x0
MOV dword ptr [ESP + 0x7c],0x0
MOV dword ptr [ESP + 0x80],0x0
ADD ESP,0x10
JMP 0x00022540
MOV ECX,dword ptr [ESP + 0x18]
LEA EAX,[EDX + 0x1]
MOV dword ptr [ECX],EAX
MOVZX EAX,byte ptr [EDX + 0x1]
CMP AL,0x20
JNZ 0x00022300
LEA EAX,[EDX + 0x2]
MOV dword ptr [ECX],EAX
MOVZX EAX,byte ptr [EDX + 0x2]
JMP 0x00022300
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddd78]
PUSH 0x5
JMP 0x0002291b
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddd1c]
PUSH 0x5
JMP 0x000229e9
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x000224e0
CMP byte ptr [EBP + 0x10],0x5
JNZ 0x00023218
MOV EDI,0x13
JMP 0x00022406
CMP AL,0x3
JNZ 0x00022ca3
CMP DL,0x3
JNZ 0x000223e8
MOV EDI,dword ptr [ESP + 0x1c]
CMP dword ptr [ESP + 0x20],EDI
JNZ 0x000223e8
MOV EAX,dword ptr [EBX + 0xffffffb0]
MOV EDI,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [EBP]
LEA ECX,[EAX + 0xc0]
CMP EDI,ECX
JZ 0x00022c90
ADD EAX,0x180
CMP EDI,EAX
JZ 0x00022c90
LEA EAX,[EBX + 0x97ec]
CMP dword ptr [EAX],EDI
JZ 0x00022c90
LEA EAX,[EBX + 0x9720]
CMP dword ptr [EAX],EDI
JZ 0x00022c90
SUB ESP,0x8
PUSH 0x0
PUSH EDX
CALL 0x00038720
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00023495
MOV EDX,dword ptr [EBP]
CMP dword ptr [ESP + 0x6c],EDX
JZ 0x000234b2
MOVZX EAX,byte ptr [ESP + 0x7c]
MOVZX EDX,byte ptr [EBP + 0x10]
CMP AL,0x2
JNZ 0x000223e8
CMP DL,0x5
JNZ 0x00022980
MOV EDI,0x14
JMP 0x00022406
MOV EDX,dword ptr [ESP + 0x78]
MOV EAX,dword ptr [ESP + 0x74]
MOV ECX,EDX
MOV dword ptr [ESP + 0x40],EAX
MOV EDI,ECX
MOV dword ptr [ESP + 0x44],ECX
OR EDI,EAX
JNZ 0x00023190
MOV EAX,dword ptr [ESP + 0x8]
SUB EAX,0xb
CMP EAX,0x1
JBE 0x000233c8
MOV EAX,dword ptr [ESP + 0x8]
SUB EAX,0xa
CMP EAX,0x12
JA 0x00022a33
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xfffddefc]
ADD EDX,EBX
JMP EDX
MOV EAX,dword ptr [ESP + 0x8]
SUB EAX,0x13
CMP EAX,0x1
JBE 0x00023240
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBP + 0xc]
OR EAX,dword ptr [ESP + 0x74]
OR EDX,dword ptr [ESP + 0x78]
OR EDX,EAX
JNZ 0x00022406
MOVZX EAX,byte ptr [ESP + 0x8]
MOV byte ptr [EBP + 0x10],AL
MOV EAX,dword ptr [ESP + 0x6c]
MOV dword ptr [EBP + 0x4],EAX
JMP 0x00022442
CMP byte ptr [EBP + 0x10],0x5
JZ 0x00022c1a
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBP + 0xc]
MOVZX EDI,byte ptr [EBP + 0x11]
MOV dword ptr [ESP + 0x40],EAX
ADD EAX,dword ptr [ESP + 0x74]
MOV dword ptr [ESP + 0x44],EDX
MOV ECX,EDI
ADC EDX,dword ptr [ESP + 0x78]
XOR CL,byte ptr [ESP + 0x7d]
MOV dword ptr [EBP + 0xc],EDX
SHR CL,0x1
MOV dword ptr [EBP + 0x8],EAX
AND ECX,0x1
CMP EAX,dword ptr [ESP + 0x40]
SBB EDX,dword ptr [ESP + 0x44]
JNC 0x00023225
XOR ECX,0x1
AND EDI,0xfffffffd
ADD ECX,ECX
OR ECX,EDI
MOV byte ptr [EBP + 0x11],CL
JMP 0x00022442
MOV EDI,dword ptr [ESP + 0x14]
CMP dword ptr [ESP + 0x8],0x1d
SETNZ DL
TEST EDI,EDI
SETNZ AL
AND EDX,EAX
JMP 0x00022b35
MOV ECX,dword ptr [ESP + 0x18]
MOVZX EDX,byte ptr [ESP + 0x5f]
MOV EAX,dword ptr [ECX]
MOV byte ptr [EAX],DL
MOV EAX,dword ptr [ESP + 0x60]
MOV dword ptr [ECX],EAX
CMP EDI,0x2d
JNZ 0x00022328
LEA ESI,[ESI]
MOV EAX,dword ptr [EBX + EDI*0x4 + 0xfffde220]
MOV dword ptr [ESP + 0x28],0x1
TEST EAX,EAX
MOV dword ptr [ESP + 0x14],EAX
SETNZ DL
CMP dword ptr [ESP + 0x8],0x1d
SETNZ AL
AND EDX,EAX
JMP 0x00022388
MOV EAX,dword ptr [ESP + 0x18]
CMP dword ptr [ESP + 0x8],0x1d
SETNZ DL
MOV EAX,dword ptr [EAX]
MOVZX EAX,byte ptr [EAX + 0x1]
CMP AL,0x21
JZ 0x00023348
XOR ECX,ECX
CMP AL,0x3d
SETZ CL
ADD ECX,0x1
CMP AL,0x3d
MOV EAX,0x10
MOV dword ptr [ESP + 0x28],ECX
MOV ECX,0x16
CMOVZ EAX,ECX
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00022388
MOV EAX,dword ptr [ESP + 0x18]
CMP dword ptr [ESP + 0x8],0x1d
SETNZ DL
XOR ECX,ECX
MOV EAX,dword ptr [EAX]
CMP byte ptr [EAX + 0x1],0x26
SETZ CL
ADD ECX,0x1
CMP byte ptr [EAX + 0x1],0x26
SETZ AL
MOV dword ptr [ESP + 0x28],ECX
MOVZX EAX,AL
LEA EAX,[EAX + EAX*0x8 + 0x12]
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00022388
MOV EAX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX]
CMP byte ptr [EAX + 0x1],0x3d
JNZ 0x00022590
CMP dword ptr [ESP + 0x8],0x1d
MOV dword ptr [ESP + 0x28],0x2
SETNZ DL
MOV dword ptr [ESP + 0x14],0x15
JMP 0x00022388
MOV EAX,dword ptr [ESP + 0x18]
CMP dword ptr [ESP + 0x8],0x1d
SETNZ DL
MOV EAX,dword ptr [EAX]
MOVZX EAX,byte ptr [EAX + 0x1]
CMP AL,0x3d
JZ 0x00023360
XOR ECX,ECX
CMP AL,0x3e
SETZ CL
ADD ECX,0x1
CMP AL,0x3e
MOV EAX,0x1a
MOV dword ptr [ESP + 0x28],ECX
MOV ECX,0xe
CMOVZ EAX,ECX
MOV dword ptr [ESP + 0x14],EAX
JMP 0x00022388
MOV EDX,dword ptr [ESP + 0x40]
MOV EAX,0x3f
MOV ECX,dword ptr [ESP + 0x44]
CMP EAX,EDX
MOV EAX,0x0
SBB EAX,ECX
JNC 0x00022cec
MOV EAX,dword ptr [ESP + 0x8]
SUB EAX,0xd
CMP EAX,0x1
JA 0x00022cec
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddb7c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],0x0
PUSH 0x0
PUSH 0x0
PUSH 0x3f
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x68]
PUSH dword ptr [ESP + 0x68]
PUSH EAX
CALL 0x0002c280
ADD ESP,0x30
MOV dword ptr [EBP + 0x8],0x0
MOV dword ptr [EBP + 0xc],0x0
MOV dword ptr [ESP + 0x40],0x0
MOV dword ptr [ESP + 0x44],0x0
JMP 0x00022cec
MOVZX ECX,byte ptr [EBP + 0x11]
XOR CL,byte ptr [ESP + 0x7d]
SHR CL,0x1
AND ECX,0x1
LEA EAX,[ECX + ECX*0x1]
MOVZX ECX,byte ptr [EBP + 0x11]
AND ECX,0xfffffffd
OR ECX,EAX
MOV byte ptr [EBP + 0x11],CL
JMP 0x00022442
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x6c]
MOV byte ptr [EBP + 0x10],DL
MOV dword ptr [EBP + 0x4],EAX
CMP EDX,0x13
JZ 0x00023378
MOV ESI,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EBP + 0xc]
MOV EAX,ESI
MOV EDX,EDI
SUB EAX,dword ptr [ESP + 0x74]
SBB EDX,dword ptr [ESP + 0x78]
MOV dword ptr [EBP + 0x8],EAX
MOVZX EAX,byte ptr [ESP + 0x7d]
MOV dword ptr [EBP + 0xc],EDX
MOVZX EDX,byte ptr [EBP + 0x11]
XOR EAX,EDX
SHR AL,0x1
AND EAX,0x1
CMP ESI,dword ptr [ESP + 0x74]
SBB EDI,dword ptr [ESP + 0x78]
JC 0x000233fb
ADD EAX,EAX
AND EDX,0xfffffffd
OR EAX,EDX
MOV byte ptr [EBP + 0x11],AL
MOV EDI,dword ptr [ESP + 0x1c]
CMP dword ptr [ESP + 0x20],EDI
JNZ 0x00022450
MOV EDI,dword ptr [EBX + 0xffffffb0]
LEA EAX,[EDI + 0x180]
CMP dword ptr [ESP + 0x1c],EAX
JZ 0x00023318
LEA EAX,[EDI + 0xc0]
CMP dword ptr [ESP + 0x1c],EAX
JZ 0x000228f0
LEA EAX,[EBX + 0x97ec]
MOV ESI,dword ptr [ESP + 0x1c]
CMP dword ptr [EAX],ESI
JZ 0x000224e0
LEA EAX,[EBX + 0x9720]
CMP dword ptr [EAX],ESI
JZ 0x000224e0
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [EBP]
CALL 0x00038720
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000224e0
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [ESP + 0x78]
CALL 0x00038720
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000224e0
LEA EAX,[EDI + 0x180]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x000224e0
MOV dword ptr [ESP + 0x28],0x1
MOV dword ptr [ESP + 0x14],0x17
JMP 0x00022388
MOV dword ptr [ESP + 0x28],0x2
MOV dword ptr [ESP + 0x14],0x11
JMP 0x00022388
MOV dword ptr [ESP + 0x28],0x2
MOV dword ptr [ESP + 0x14],0x19
JMP 0x00022388
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBP + 0xc]
MOVZX EDI,byte ptr [EBP + 0x11]
MOV dword ptr [ESP + 0x40],EAX
ADD EAX,dword ptr [ESP + 0x74]
MOV dword ptr [ESP + 0x44],EDX
MOV ECX,EDI
ADC EDX,dword ptr [ESP + 0x78]
XOR CL,byte ptr [ESP + 0x7d]
MOV dword ptr [EBP + 0xc],EDX
SHR CL,0x1
MOV dword ptr [EBP + 0x8],EAX
AND ECX,0x1
CMP EAX,dword ptr [ESP + 0x40]
SBB EDX,dword ptr [ESP + 0x44]
JNC 0x000229b7
XOR ECX,0x1
AND EDI,0xfffffffd
LEA EAX,[ECX + ECX*0x1]
OR EAX,EDI
MOV byte ptr [EBP + 0x11],AL
JMP 0x00022442
SUB ESP,0x4
LEA EAX,[EBX + 0xfffddb6b]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002bc80
ADD ESP,0x10
MOV dword ptr [ESP + 0x40],0x1
MOV dword ptr [ESP + 0x44],0x0
JMP 0x00022cec
XOR EAX,0x1
AND EDX,0xfffffffd
ADD EAX,EAX
OR EDX,EAX
MOV byte ptr [EBP + 0x11],DL
JMP 0x00023297
MOV EBP,0x17
MOV dword ptr [ESP + 0x28],0x1
MOV dword ptr [ESP + 0x8],0x17
JMP 0x000222c3
MOV EBP,0x11
MOV dword ptr [ESP + 0x28],0x2
MOV dword ptr [ESP + 0x8],0x11
JMP 0x000222c3
MOV EBP,0x19
MOV dword ptr [ESP + 0x28],0x2
MOV dword ptr [ESP + 0x8],0x19
JMP 0x000222c3
MOV ESI,dword ptr [ESP + 0x18]
SUB ESP,0x4
MOV EBP,dword ptr [ESI]
PUSH 0x0
PUSH 0x2
PUSH 0x0
CALL 0x00053d00
MOV dword ptr [ESP + 0x18],EAX
ADD ESP,0x10
MOV dword ptr [ESP + 0x28],0x1
TEST EAX,EAX
JZ 0x0002348a
MOV EAX,dword ptr [ESI]
SUB EAX,EBP
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [EAX],EBP
JMP 0x00022706
SUB ESP,0x8
PUSH 0x0
PUSH dword ptr [ESP + 0x78]
CALL 0x00038720
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00022c8d
MOV EDX,dword ptr [ESP + 0x6c]
SUB ESP,0xc
PUSH EDX
CALL 0x0003b830
MOV EDI,EAX
POP EAX
PUSH dword ptr [EBP]
CALL 0x0003b830
ADD ESP,0xc
LEA EDX,[ESP + 0x64]
PUSH EDX
PUSH EDI
PUSH EAX
CALL 0x00024ed0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00022c9a
SUB ESP,0xc
PUSH dword ptr [EBP]
CALL 0x0003a3c0
MOV ESI,EAX
POP EAX
PUSH dword ptr [ESP + 0x78]
MOV EDI,EDX
CALL 0x0003a3c0
MOV ECX,dword ptr [EBP + 0xc]
SUB ESI,EAX
SBB EDI,EDX
MOV EDX,dword ptr [EBP + 0x8]
MOV dword ptr [ESP + 0x30],ESI
MOV dword ptr [ESP + 0x34],EDI
MOV EDI,ECX
MOV ESI,EDX
SUB ESI,dword ptr [ESP + 0x84]
SBB EDI,dword ptr [ESP + 0x88]
MOV dword ptr [ESP + 0x54],EDI
MOV dword ptr [EBP + 0xc],EDI
MOVZX EDI,byte ptr [EBP + 0x11]
MOV dword ptr [ESP + 0x50],ESI
MOV EAX,EDI
XOR AL,byte ptr [ESP + 0x8d]
ADD ESP,0x10
MOV dword ptr [EBP + 0x8],ESI
SHR AL,0x1
MOV ESI,ECX
AND EAX,0x1
CMP EDX,dword ptr [ESP + 0x74]
SBB ESI,dword ptr [ESP + 0x78]
JC 0x000235f5
MOV EDX,EDI
LEA ECX,[EAX + EAX*0x1]
AND EDX,0xfffffffd
OR EDX,ECX
MOV byte ptr [EBP + 0x11],DL
MOV EDX,dword ptr [ESP + 0x60]
MOV ESI,dword ptr [ESP + 0x40]
MOV ECX,dword ptr [ESP + 0x64]
MOV EDI,dword ptr [ESP + 0x44]
SUB ESI,EDX
SBB EDI,ECX
MOV dword ptr [ESP + 0x8],ESI
MOV dword ptr [EBP + 0x8],ESI
MOV ESI,dword ptr [ESP + 0x40]
MOV dword ptr [ESP + 0xc],EDI
MOV dword ptr [EBP + 0xc],EDI
MOV EDI,dword ptr [ESP + 0x44]
CMP ESI,EDX
SBB EDI,ECX
JC 0x000235dd
MOVZX EDX,byte ptr [EBP + 0x11]
MOV ECX,dword ptr [ESP + 0x24]
MOV ESI,dword ptr [ESP + 0x20]
MOV EDI,dword ptr [ESP + 0x24]
ADD ESI,dword ptr [ESP + 0x8]
ADC EDI,dword ptr [ESP + 0xc]
SHR ECX,0x1f
MOV dword ptr [EBP + 0x8],ESI
MOV dword ptr [EBP + 0xc],EDI
XOR EAX,ECX
CMP ESI,dword ptr [ESP + 0x8]
SBB EDI,dword ptr [ESP + 0xc]
JNC 0x000235bd
XOR EAX,0x1
AND EAX,0x1
MOV byte ptr [EBP + 0x10],0x2
LEA ECX,[EAX + EAX*0x1]
MOV EAX,EDX
MOV dword ptr [EBP],0x0
AND EAX,0xfffffffd
OR EAX,ECX
MOV byte ptr [EBP + 0x11],AL
JMP 0x000224e0
XOR EAX,0x1
MOVZX EDX,byte ptr [EBP + 0x11]
MOV ECX,EAX
AND ECX,0x1
AND EDX,0xfffffffd
ADD ECX,ECX
OR EDX,ECX
MOV byte ptr [EBP + 0x11],DL
JMP 0x00023591
XOR EAX,0x1
MOV EDX,EAX
AND EDX,0x1
LEA ECX,[EDX + EDX*0x1]
MOV EDX,EDI
AND EDX,0xfffffffd
OR EDX,ECX
MOV byte ptr [EBP + 0x11],DL
JMP 0x0002355d
SUB ESP,0x4
LEA EAX,[EBX + 0xfffde204]
PUSH EAX
LEA EAX,[EBX + 0xfffddac4]
PUSH 0x712
PUSH EAX
CALL 0x0002be80
SUB ESP,0x4
LEA EAX,[EBX + 0xfffde204]
PUSH EAX
LEA EAX,[EBX + 0xfffddac4]
PUSH 0x70e
PUSH EAX
CALL 0x0002be80
SUB ESP,0x4
LEA EAX,[EBX + 0xfffde204]
PUSH EAX
LEA EAX,[EBX + 0xfffddac4]
PUSH 0x6fd
PUSH EAX
CALL 0x0002be80
SUB ESP,0x4
LEA EAX,[EBX + 0xfffde204]
PUSH EAX
LEA EAX,[EBX + 0xfffddac4]
PUSH 0x70d
PUSH EAX
CALL 0x0002be80
LEA EAX,[EBX + 0xfffde204]
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xfffddac4]
PUSH 0x6e8
PUSH EAX
CALL 0x0002be80
LEA EAX,[EBX + 0xfffde204]
PUSH EBP
PUSH EAX
LEA EAX,[EBX + 0xfffddac4]
PUSH 0x6dc
PUSH EAX
CALL 0x0002be80
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined * FUN_000221d0(int param_1,int *param_2,int param_3)\n\n{\n  longlong lVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined1 uVar4;\n  byte bVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  int iVar11;\n  char cVar12;\n  byte bVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  uint uVar19;\n  bool bVar20;\n  undefined8 uVar21;\n  longlong lVar22;\n  longlong lVar23;\n  int local_94;\n  int local_88;\n  undefined *local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  byte local_3d;\n  byte *local_3c;\n  uint local_38;\n  byte *local_30;\n  int local_2c;\n  uint local_28;\n  uint local_24;\n  char local_20;\n  byte local_1f;\n  undefined2 local_1e;\n  undefined4 uStack_14;\n  \n  uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);\n  uStack_14 = 0x221d9;\n  if (param_1 < 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }\n  if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }\n  DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);\n  DAT_00089ad8 = (undefined4)uVar21;\n  local_80 = (undefined *)FUN_000236b0();\n  if (*DAT_00089978 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }\n  uVar16 = (uint)*DAT_00089978;\n  if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;\n  if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;\n  puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;\n  cVar12 = (&DAT_00080220)[local_94];\n  puVar2 = local_80;\n  iVar11 = local_94;\n  while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }\nLAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }\n  if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }\n  if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }\n  return local_80;\n}\n\n" comment (function_definition "undefined * FUN_000221d0(int param_1,int *param_2,int param_3)\n\n{\n  longlong lVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined1 uVar4;\n  byte bVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  int iVar11;\n  char cVar12;\n  byte bVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  uint uVar19;\n  bool bVar20;\n  undefined8 uVar21;\n  longlong lVar22;\n  longlong lVar23;\n  int local_94;\n  int local_88;\n  undefined *local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  byte local_3d;\n  byte *local_3c;\n  uint local_38;\n  byte *local_30;\n  int local_2c;\n  uint local_28;\n  uint local_24;\n  char local_20;\n  byte local_1f;\n  undefined2 local_1e;\n  undefined4 uStack_14;\n  \n  uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);\n  uStack_14 = 0x221d9;\n  if (param_1 < 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }\n  if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }\n  DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);\n  DAT_00089ad8 = (undefined4)uVar21;\n  local_80 = (undefined *)FUN_000236b0();\n  if (*DAT_00089978 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }\n  uVar16 = (uint)*DAT_00089978;\n  if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;\n  if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;\n  puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;\n  cVar12 = (&DAT_00080220)[local_94];\n  puVar2 = local_80;\n  iVar11 = local_94;\n  while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }\nLAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }\n  if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }\n  if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }\n  return local_80;\n}" type_identifier (pointer_declarator "* FUN_000221d0(int param_1,int *param_2,int param_3)" * (function_declarator "FUN_000221d0(int param_1,int *param_2,int param_3)" identifier (parameter_list "(int param_1,int *param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) )))) (compound_statement "{\n  longlong lVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined1 uVar4;\n  byte bVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  int iVar11;\n  char cVar12;\n  byte bVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  uint uVar19;\n  bool bVar20;\n  undefined8 uVar21;\n  longlong lVar22;\n  longlong lVar23;\n  int local_94;\n  int local_88;\n  undefined *local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  byte local_3d;\n  byte *local_3c;\n  uint local_38;\n  byte *local_30;\n  int local_2c;\n  uint local_28;\n  uint local_24;\n  char local_20;\n  byte local_1f;\n  undefined2 local_1e;\n  undefined4 uStack_14;\n  \n  uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);\n  uStack_14 = 0x221d9;\n  if (param_1 < 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }\n  if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }\n  DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);\n  DAT_00089ad8 = (undefined4)uVar21;\n  local_80 = (undefined *)FUN_000236b0();\n  if (*DAT_00089978 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }\n  uVar16 = (uint)*DAT_00089978;\n  if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;\n  if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;\n  puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;\n  cVar12 = (&DAT_00080220)[local_94];\n  puVar2 = local_80;\n  iVar11 = local_94;\n  while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }\nLAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }\n  if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }\n  if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }\n  return local_80;\n}" { (declaration "longlong lVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined1 uVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "longlong lVar22;" type_identifier identifier ;) (declaration "longlong lVar23;" type_identifier identifier ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "undefined *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "byte local_3d;" type_identifier identifier ;) (declaration "byte *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "byte *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "char local_20;" primitive_type identifier ;) (declaration "byte local_1f;" type_identifier identifier ;) (declaration "undefined2 local_1e;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);" (assignment_expression "uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8)" identifier = (call_expression "CONCAT44(DAT_00089adc,DAT_00089ad8)" identifier (argument_list "(DAT_00089adc,DAT_00089ad8)" ( identifier , identifier )))) ;) (expression_statement "uStack_14 = 0x221d9;" (assignment_expression "uStack_14 = 0x221d9" identifier = number_literal) ;) (if_statement "if (param_1 < 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }" if (parenthesized_expression "(param_1 < 0)" ( (binary_expression "param_1 < 0" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }" { comment (expression_statement "FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204)" identifier (argument_list "("../../gas/expr.c",0x6dc,&DAT_0005e204)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) ))) ;) })) (if_statement "if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }" if (parenthesized_expression "((char)param_1 == '\0')" ( (binary_expression "(char)param_1 == '\0'" (cast_expression "(char)param_1" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }" { (expression_statement "uVar21 = FUN_00024dc0();" (assignment_expression "uVar21 = FUN_00024dc0()" identifier = (call_expression "FUN_00024dc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "DAT_00089ae8 = DAT_000898a0;" (assignment_expression "DAT_00089ae8 = DAT_000898a0" identifier = identifier) ;) })) (expression_statement "DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);" (assignment_expression "DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar21 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00089ad8 = (undefined4)uVar21;" (assignment_expression "DAT_00089ad8 = (undefined4)uVar21" identifier = (cast_expression "(undefined4)uVar21" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "local_80 = (undefined *)FUN_000236b0();" (assignment_expression "local_80 = (undefined *)FUN_000236b0()" identifier = (cast_expression "(undefined *)FUN_000236b0()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000236b0()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (*DAT_00089978 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }" if (parenthesized_expression "(*DAT_00089978 == 0x20)" ( (binary_expression "*DAT_00089978 == 0x20" (pointer_expression "*DAT_00089978" * identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }" { comment (expression_statement "FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);" (call_expression "FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2)" identifier (argument_list "("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) , identifier ))) ;) })) (expression_statement "uVar16 = (uint)*DAT_00089978;" (assignment_expression "uVar16 = (uint)*DAT_00089978" identifier = (binary_expression "(uint)*DAT_00089978" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;" if (parenthesized_expression "((&DAT_000802c0)[uVar16] != '\0')" ( (binary_expression "(&DAT_000802c0)[uVar16] != '\0'" (subscript_expression "(&DAT_000802c0)[uVar16]" (parenthesized_expression "(&DAT_000802c0)" ( (pointer_expression "&DAT_000802c0" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022622;" goto statement_identifier ;)) (if_statement "if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }" if (parenthesized_expression "(((&DAT_000803c0)[uVar16] & 2) == 0)" ( (binary_expression "((&DAT_000803c0)[uVar16] & 2) == 0" (parenthesized_expression "((&DAT_000803c0)[uVar16] & 2)" ( (binary_expression "(&DAT_000803c0)[uVar16] & 2" (subscript_expression "(&DAT_000803c0)[uVar16]" (parenthesized_expression "(&DAT_000803c0)" ( (pointer_expression "&DAT_000803c0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }" { (labeled_statement "LAB_00022269:\n    pbVar17 = DAT_00089978;" statement_identifier : (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;)) (if_statement "if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }" if (parenthesized_expression "(uVar16 == 0x2d)" ( (binary_expression "uVar16 == 0x2d" identifier == number_literal) )) (compound_statement "{\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }" { (labeled_statement "LAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" statement_identifier : (expression_statement "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" * (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" ( (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" & identifier) + (binary_expression "uVar16 * 4" identifier * number_literal)) ))))) ;)) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00022706;" goto statement_identifier ;) })) (if_statement "if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" if (parenthesized_expression "(uVar16 < 0x2e)" ( (binary_expression "uVar16 < 0x2e" identifier < number_literal) )) (compound_statement "{\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }" { (if_statement "if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }" if (parenthesized_expression "(uVar16 == 0x26)" ( (binary_expression "uVar16 == 0x26" identifier == number_literal) )) (compound_statement "{\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }" { (expression_statement "local_74 = (DAT_00089978[1] == 0x26) + 1;" (assignment_expression "local_74 = (DAT_00089978[1] == 0x26) + 1" identifier = (binary_expression "(DAT_00089978[1] == 0x26) + 1" (parenthesized_expression "(DAT_00089978[1] == 0x26)" ( (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) + number_literal)) ;) (expression_statement "local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;" (assignment_expression "local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" identifier = (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9" (call_expression "(uint)(DAT_00089978[1] == 0x26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00089978[1] == 0x26)" ( (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) ))) * number_literal) + number_literal)) ;) }) (else_clause "else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }" else (compound_statement "{\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }" { (if_statement "if (uVar16 == 0x2b) goto LAB_000227c0;" if (parenthesized_expression "(uVar16 == 0x2b)" ( (binary_expression "uVar16 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_000227c0;" goto statement_identifier ;)) (if_statement "if (uVar16 != 0x21) goto LAB_000225c3;" if (parenthesized_expression "(uVar16 != 0x21)" ( (binary_expression "uVar16 != 0x21" identifier != number_literal) )) (goto_statement "goto LAB_000225c3;" goto statement_identifier ;)) (if_statement "if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }" if (parenthesized_expression "(DAT_00089978[1] != 0x21)" ( (binary_expression "DAT_00089978[1] != 0x21" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }" { (expression_statement "iVar11 = 0x16;" (assignment_expression "iVar11 = 0x16" identifier = number_literal) ;) (expression_statement "local_94 = 0x10;" (assignment_expression "local_94 = 0x10" identifier = number_literal) ;) (expression_statement "bVar20 = DAT_00089978[1] == 0x3d;" (assignment_expression "bVar20 = DAT_00089978[1] == 0x3d" identifier = (binary_expression "DAT_00089978[1] == 0x3d" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal)) ;) (goto_statement "goto LAB_000222ad;" goto statement_identifier ;) })) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = 0x11;" (assignment_expression "local_94 = 0x11" identifier = number_literal) ;) }))) }) (else_clause "else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" else (if_statement "if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" if (parenthesized_expression "(uVar16 == 0x3d)" ( (binary_expression "uVar16 == 0x3d" identifier == number_literal) )) (compound_statement "{\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }" { (if_statement "if (DAT_00089978[1] != 0x3d) goto LAB_00022622;" if (parenthesized_expression "(DAT_00089978[1] != 0x3d)" ( (binary_expression "DAT_00089978[1] != 0x3d" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00022622;" goto statement_identifier ;)) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = 0x15;" (assignment_expression "local_94 = 0x15" identifier = number_literal) ;) }) (else_clause "else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" else (if_statement "if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" if (parenthesized_expression "(uVar16 < 0x3e)" ( (binary_expression "uVar16 < 0x3e" identifier < number_literal) )) (compound_statement "{\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }" { (if_statement "if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" if (parenthesized_expression "(uVar16 == 0x3c)" ( (binary_expression "uVar16 == 0x3c" identifier == number_literal) )) (compound_statement "{\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }" { (if_statement "if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }" if (parenthesized_expression "((byte)(DAT_00089978[1] - 0x3c) < 3)" ( (binary_expression "(byte)(DAT_00089978[1] - 0x3c) < 3" (call_expression "(byte)(DAT_00089978[1] - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_00089978[1] - 0x3c)" ( (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);" (assignment_expression "local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" * (cast_expression "(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" ( (binary_expression "&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (pointer_expression "&DAT_0005e1e4" & identifier) + (binary_expression "(uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (call_expression "(uint)(byte)(DAT_00089978[1] - 0x3c)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(DAT_00089978[1] - 0x3c)" ( (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) - number_literal) ))) * number_literal)) ))))) ;) (goto_statement "goto LAB_00022706;" goto statement_identifier ;) })) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "local_94 = 0x17;" (assignment_expression "local_94 = 0x17" identifier = number_literal) ;) }) (else_clause "else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" else (compound_statement "{\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" { (labeled_statement "LAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" statement_identifier : (expression_statement "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" * (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" ( (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" & identifier) + (binary_expression "uVar16 * 4" identifier * number_literal)) ))))) ;)) (if_statement "if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }" { (expression_statement "local_94 = FUN_00053d00(0,2,0);" (assignment_expression "local_94 = FUN_00053d00(0,2,0)" identifier = (call_expression "FUN_00053d00(0,2,0)" identifier (argument_list "(0,2,0)" ( number_literal , number_literal , number_literal )))) ;) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (if_statement "if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }" { (expression_statement "local_74 = (int)DAT_00089978 - (int)pbVar17;" (assignment_expression "local_74 = (int)DAT_00089978 - (int)pbVar17" identifier = (binary_expression "(int)DAT_00089978 - (int)pbVar17" (cast_expression "(int)DAT_00089978" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (goto_statement "goto LAB_00022706;" goto statement_identifier ;) })) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) }))) }) (else_clause "else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" else (compound_statement "{\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" { (if_statement "if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }" if (parenthesized_expression "(uVar16 == 0x3e)" ( (binary_expression "uVar16 == 0x3e" identifier == number_literal) )) (compound_statement "{\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }" { (if_statement "if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }" if (parenthesized_expression "(DAT_00089978[1] == 0x3d)" ( (binary_expression "DAT_00089978[1] == 0x3d" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = 0x19;" (assignment_expression "local_94 = 0x19" identifier = number_literal) ;) (goto_statement "goto LAB_000222c3;" goto statement_identifier ;) })) (expression_statement "iVar11 = 0xe;" (assignment_expression "iVar11 = 0xe" identifier = number_literal) ;) (expression_statement "local_94 = 0x1a;" (assignment_expression "local_94 = 0x1a" identifier = number_literal) ;) (expression_statement "bVar20 = DAT_00089978[1] == 0x3e;" (assignment_expression "bVar20 = DAT_00089978[1] == 0x3e" identifier = (binary_expression "DAT_00089978[1] == 0x3e" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal)) ;) }) (else_clause "else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }" else (compound_statement "{\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }" { (if_statement "if (uVar16 != 0x7c) goto LAB_000225c3;" if (parenthesized_expression "(uVar16 != 0x7c)" ( (binary_expression "uVar16 != 0x7c" identifier != number_literal) )) (goto_statement "goto LAB_000225c3;" goto statement_identifier ;)) (expression_statement "iVar11 = 0x1c;" (assignment_expression "iVar11 = 0x1c" identifier = number_literal) ;) (expression_statement "local_94 = 0xf;" (assignment_expression "local_94 = 0xf" identifier = number_literal) ;) (expression_statement "bVar20 = DAT_00089978[1] == 0x7c;" (assignment_expression "bVar20 = DAT_00089978[1] == 0x7c" identifier = (binary_expression "DAT_00089978[1] == 0x7c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal)) ;) }))) (labeled_statement "LAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }" statement_identifier : (if_statement "if (bVar20) {\n        local_94 = iVar11;\n      }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\n        local_94 = iVar11;\n      }" { (expression_statement "local_94 = iVar11;" (assignment_expression "local_94 = iVar11" identifier = identifier) ;) }))) (expression_statement "local_74 = bVar20 + 1;" (assignment_expression "local_74 = bVar20 + 1" identifier = (binary_expression "bVar20 + 1" identifier + number_literal)) ;) }))))))) }) (else_clause "else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }" else (compound_statement "{\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }" { (expression_statement "uVar4 = FUN_000220a0(&local_30);" (assignment_expression "uVar4 = FUN_000220a0(&local_30)" identifier = (call_expression "FUN_000220a0(&local_30)" identifier (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);" (assignment_expression "local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4)" identifier = (cast_expression "(byte *)CONCAT31(local_3c._1_3_,uVar4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_3c._1_3_,uVar4)" identifier (argument_list "(local_3c._1_3_,uVar4)" ( (field_expression "local_3c._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "local_94 = FUN_00053d00(local_30,2,&local_3c);" (assignment_expression "local_94 = FUN_00053d00(local_30,2,&local_3c)" identifier = (call_expression "FUN_00053d00(local_30,2,&local_3c)" identifier (argument_list "(local_30,2,&local_3c)" ( identifier , number_literal , (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "pbVar17 = local_30;" (assignment_expression "pbVar17 = local_30" identifier = identifier) ;) (if_statement "if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }" if (parenthesized_expression "(local_94 == 1)" ( (binary_expression "local_94 == 1" identifier == number_literal) )) (compound_statement "{\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }" { (expression_statement "*DAT_00089978 = (byte)local_3c;" (assignment_expression "*DAT_00089978 = (byte)local_3c" (pointer_expression "*DAT_00089978" * identifier) = (cast_expression "(byte)local_3c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "DAT_00089978 = local_30;" (assignment_expression "DAT_00089978 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_00022269;" goto statement_identifier ;) })) (if_statement "if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }" if (parenthesized_expression "((local_94 != 0) && (local_94 - 7U < 3))" ( (binary_expression "(local_94 != 0) && (local_94 - 7U < 3)" (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_94 - 7U < 3)" ( (binary_expression "local_94 - 7U < 3" (binary_expression "local_94 - 7U" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }" { (expression_statement "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);" (assignment_expression "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5)" identifier = (call_expression "dcgettext(0,"invalid use of operator \"%s\"",5)" identifier (argument_list "(0,"invalid use of operator \"%s\"",5)" ( number_literal , (string_literal ""invalid use of operator \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar7,pbVar17);" (call_expression "FUN_0002bd60(uVar7,pbVar17)" identifier (argument_list "(uVar7,pbVar17)" ( identifier , identifier ))) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) })) (expression_statement "*DAT_00089978 = (byte)local_3c;" (assignment_expression "*DAT_00089978 = (byte)local_3c" (pointer_expression "*DAT_00089978" * identifier) = (cast_expression "(byte)local_3c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;) (expression_statement "DAT_00089978 = local_30;" (assignment_expression "DAT_00089978 = local_30" identifier = identifier) ;) (expression_statement "local_74 = (int)pbVar17 - (int)local_30;" (assignment_expression "local_74 = (int)pbVar17 - (int)local_30" identifier = (binary_expression "(int)pbVar17 - (int)local_30" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;) (labeled_statement "LAB_00022706:\n    DAT_00089978 = pbVar17;" statement_identifier : (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;)) (if_statement "if (local_94 == 0) goto LAB_00022622;" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00022622;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;" statement_identifier : (expression_statement "puVar3 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar3 = PTR__bfd_std_section_0007ffb0" identifier = identifier) ;)) (expression_statement "puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;" (assignment_expression "puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0" identifier = (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal)) ;) (expression_statement "cVar12 = (&DAT_00080220)[local_94];" (assignment_expression "cVar12 = (&DAT_00080220)[local_94]" identifier = (subscript_expression "(&DAT_00080220)[local_94]" (parenthesized_expression "(&DAT_00080220)" ( (pointer_expression "&DAT_00080220" & identifier) )) [ identifier ])) ;) (expression_statement "puVar2 = local_80;" (assignment_expression "puVar2 = local_80" identifier = identifier) ;) (expression_statement "iVar11 = local_94;" (assignment_expression "iVar11 = local_94" identifier = identifier) ;) (while_statement "while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }" while (parenthesized_expression "(local_80 = puVar2, (char)param_1 < cVar12)" ( (comma_expression "local_80 = puVar2, (char)param_1 < cVar12" (assignment_expression "local_80 = puVar2" identifier = identifier) , (binary_expression "(char)param_1 < cVar12" (cast_expression "(char)param_1" ( (type_descriptor "char" primitive_type) ) identifier) < identifier)) )) (compound_statement "{\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }" { (expression_statement "local_1e = 0;" (assignment_expression "local_1e = 0" identifier = number_literal) ;) (expression_statement "DAT_00089978 = DAT_00089978 + local_74;" (assignment_expression "DAT_00089978 = DAT_00089978 + local_74" identifier = (binary_expression "DAT_00089978 + local_74" identifier + identifier)) ;) (expression_statement "puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);" (assignment_expression "puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3)" identifier = (cast_expression "(undefined *)FUN_000221d0((int)cVar12,&local_30,param_3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000221d0((int)cVar12,&local_30,param_3)" identifier (argument_list "((int)cVar12,&local_30,param_3)" ( (cast_expression "(int)cVar12" ( (type_descriptor "int" primitive_type) ) identifier) , (pointer_expression "&local_30" & identifier) , identifier ))))) ;) (if_statement "if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }" if (parenthesized_expression "(local_20 == '\x01')" ( (binary_expression "local_20 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }" { (expression_statement "uVar7 = dcgettext(0,"missing operand; zero assumed",5);" (assignment_expression "uVar7 = dcgettext(0,"missing operand; zero assumed",5)" identifier = (call_expression "dcgettext(0,"missing operand; zero assumed",5)" identifier (argument_list "(0,"missing operand; zero assumed",5)" ( number_literal , (string_literal ""missing operand; zero assumed"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "local_20 = '\x02';" (assignment_expression "local_20 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_30 = (byte *)0x0;" (assignment_expression "local_30 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) })) (expression_statement "bVar13 = *DAT_00089978;" (assignment_expression "bVar13 = *DAT_00089978" identifier = (pointer_expression "*DAT_00089978" * identifier)) ;) (expression_statement "uVar16 = (uint)bVar13;" (assignment_expression "uVar16 = (uint)bVar13" identifier = (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar13 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }" if (parenthesized_expression "(bVar13 == 0x20)" ( (binary_expression "bVar13 == 0x20" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }" { comment (expression_statement "FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204)" identifier (argument_list "("../../gas/expr.c",0x6fd,&DAT_0005e204)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) ))) ;) })) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;) (if_statement "if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }" if (parenthesized_expression "(iVar11 == 0x1d)" ( (binary_expression "iVar11 == 0x1d" identifier == number_literal) )) (compound_statement "{\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }" { (if_statement "if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }" if (parenthesized_expression "(bVar13 == 0x5d)" ( (binary_expression "bVar13 == 0x5d" identifier == number_literal) )) (compound_statement "{\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }" { (expression_statement "uVar16 = (uint)DAT_00089978[1];" (assignment_expression "uVar16 = (uint)DAT_00089978[1]" identifier = (cast_expression "(uint)DAT_00089978[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]))) ;) (expression_statement "pbVar17 = DAT_00089978 + 1;" (assignment_expression "pbVar17 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }" if (parenthesized_expression "(DAT_00089978[1] == 0x20)" ( (binary_expression "DAT_00089978[1] == 0x20" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }" { (expression_statement "uVar16 = (uint)DAT_00089978[2];" (assignment_expression "uVar16 = (uint)DAT_00089978[2]" identifier = (cast_expression "(uint)DAT_00089978[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "DAT_00089978[2]" identifier [ number_literal ]))) ;) (expression_statement "pbVar17 = DAT_00089978 + 2;" (assignment_expression "pbVar17 = DAT_00089978 + 2" identifier = (binary_expression "DAT_00089978 + 2" identifier + number_literal)) ;) })) (goto_statement "goto LAB_00022300;" goto statement_identifier ;) })) (expression_statement "FUN_0002bd60("missing right bracket");" (call_expression "FUN_0002bd60("missing right bracket")" identifier (argument_list "("missing right bracket")" ( (string_literal ""missing right bracket"" " string_content ") ))) ;) (expression_statement "uVar16 = (uint)*DAT_00089978;" (assignment_expression "uVar16 = (uint)*DAT_00089978" identifier = (binary_expression "(uint)*DAT_00089978" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;" if (parenthesized_expression "((&DAT_000802c0)[uVar16] == '\0')" ( (binary_expression "(&DAT_000802c0)[uVar16] == '\0'" (subscript_expression "(&DAT_000802c0)[uVar16]" (parenthesized_expression "(&DAT_000802c0)" ( (pointer_expression "&DAT_000802c0" & identifier) )) [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022311;" goto statement_identifier ;)) (labeled_statement "LAB_00022590:\n      local_74 = 1;" statement_identifier : (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;)) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }" else (compound_statement "{\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }" { (labeled_statement "LAB_00022300:\n      DAT_00089978 = pbVar17;" statement_identifier : (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;)) (if_statement "if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;" if (parenthesized_expression "((&DAT_000802c0)[uVar16] != '\0')" ( (binary_expression "(&DAT_000802c0)[uVar16] != '\0'" (subscript_expression "(&DAT_000802c0)[uVar16]" (parenthesized_expression "(&DAT_000802c0)" ( (pointer_expression "&DAT_000802c0" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022590;" goto statement_identifier ;)) (labeled_statement "LAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" statement_identifier : (if_statement "if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" if (parenthesized_expression "(((&DAT_000803c0)[uVar16] & 2) == 0)" ( (binary_expression "((&DAT_000803c0)[uVar16] & 2) == 0" (parenthesized_expression "((&DAT_000803c0)[uVar16] & 2)" ( (binary_expression "(&DAT_000803c0)[uVar16] & 2" (subscript_expression "(&DAT_000803c0)[uVar16]" (parenthesized_expression "(&DAT_000803c0)" ( (pointer_expression "&DAT_000803c0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }" { (if_statement "if (uVar16 == 0x2d) goto LAB_00023070;" if (parenthesized_expression "(uVar16 == 0x2d)" ( (binary_expression "uVar16 == 0x2d" identifier == number_literal) )) (goto_statement "goto LAB_00023070;" goto statement_identifier ;)) (labeled_statement "LAB_00022328:\n        pbVar17 = DAT_00089978;" statement_identifier : (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;)) (if_statement "if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" if (parenthesized_expression "(uVar16 < 0x2e)" ( (binary_expression "uVar16 < 0x2e" identifier < number_literal) )) (compound_statement "{\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }" { (if_statement "if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }" if (parenthesized_expression "(uVar16 == 0x26)" ( (binary_expression "uVar16 == 0x26" identifier == number_literal) )) (compound_statement "{\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }" { (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "local_74 = (DAT_00089978[1] == 0x26) + 1;" (assignment_expression "local_74 = (DAT_00089978[1] == 0x26) + 1" identifier = (binary_expression "(DAT_00089978[1] == 0x26) + 1" (parenthesized_expression "(DAT_00089978[1] == 0x26)" ( (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) + number_literal)) ;) (expression_statement "local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;" (assignment_expression "local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" identifier = (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9" (call_expression "(uint)(DAT_00089978[1] == 0x26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00089978[1] == 0x26)" ( (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) ))) * number_literal) + number_literal)) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }) (else_clause "else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }" else (compound_statement "{\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }" { (if_statement "if (uVar16 == 0x2b) goto LAB_00023070;" if (parenthesized_expression "(uVar16 == 0x2b)" ( (binary_expression "uVar16 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_00023070;" goto statement_identifier ;)) (if_statement "if (uVar16 != 0x21) goto LAB_00022883;" if (parenthesized_expression "(uVar16 != 0x21)" ( (binary_expression "uVar16 != 0x21" identifier != number_literal) )) (goto_statement "goto LAB_00022883;" goto statement_identifier ;)) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "bVar13 = DAT_00089978[1];" (assignment_expression "bVar13 = DAT_00089978[1]" identifier = (subscript_expression "DAT_00089978[1]" identifier [ number_literal ])) ;) (if_statement "if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }" if (parenthesized_expression "(bVar13 == 0x21)" ( (binary_expression "bVar13 == 0x21" identifier == number_literal) )) (compound_statement "{\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = 0x11;" (assignment_expression "local_88 = 0x11" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }) (else_clause "else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }" else (compound_statement "{\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }" { (expression_statement "local_74 = (bVar13 == 0x3d) + 1;" (assignment_expression "local_74 = (bVar13 == 0x3d) + 1" identifier = (binary_expression "(bVar13 == 0x3d) + 1" (parenthesized_expression "(bVar13 == 0x3d)" ( (binary_expression "bVar13 == 0x3d" identifier == number_literal) )) + number_literal)) ;) (expression_statement "local_88 = 0x10;" (assignment_expression "local_88 = 0x10" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) (if_statement "if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }" if (parenthesized_expression "(bVar13 == 0x3d)" ( (binary_expression "bVar13 == 0x3d" identifier == number_literal) )) (compound_statement "{\n                local_88 = 0x16;\n              }" { (expression_statement "local_88 = 0x16;" (assignment_expression "local_88 = 0x16" identifier = number_literal) ;) })) }))) }))) }) (else_clause "else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" else (if_statement "if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" if (parenthesized_expression "(uVar16 == 0x3d)" ( (binary_expression "uVar16 == 0x3d" identifier == number_literal) )) (compound_statement "{\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }" { (if_statement "if (DAT_00089978[1] != 0x3d) goto LAB_00022590;" if (parenthesized_expression "(DAT_00089978[1] != 0x3d)" ( (binary_expression "DAT_00089978[1] != 0x3d" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00022590;" goto statement_identifier ;)) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = 0x15;" (assignment_expression "local_88 = 0x15" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }) (else_clause "else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" else (if_statement "if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" if (parenthesized_expression "(uVar16 < 0x3e)" ( (binary_expression "uVar16 < 0x3e" identifier < number_literal) )) (compound_statement "{\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }" { (if_statement "if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }" if (parenthesized_expression "(uVar16 == 0x3c)" ( (binary_expression "uVar16 == 0x3c" identifier == number_literal) )) (compound_statement "{\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }" { (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (if_statement "if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }" if (parenthesized_expression "((byte)(DAT_00089978[1] - 0x3c) < 3)" ( (binary_expression "(byte)(DAT_00089978[1] - 0x3c) < 3" (call_expression "(byte)(DAT_00089978[1] - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_00089978[1] - 0x3c)" ( (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);" (assignment_expression "local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" * (cast_expression "(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" ( (binary_expression "&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (pointer_expression "&DAT_0005e1e4" & identifier) + (binary_expression "(uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (call_expression "(uint)(byte)(DAT_00089978[1] - 0x3c)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(DAT_00089978[1] - 0x3c)" ( (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) - number_literal) ))) * number_literal)) ))))) ;) (expression_statement "bVar20 = bVar20 && local_88 != 0;" (assignment_expression "bVar20 = bVar20 && local_88 != 0" identifier = (binary_expression "bVar20 && local_88 != 0" identifier && (binary_expression "local_88 != 0" identifier != number_literal))) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }) (else_clause "else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }" else (compound_statement "{\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }" { (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "local_88 = 0x17;" (assignment_expression "local_88 = 0x17" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }))) }) (else_clause "else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }" else (compound_statement "{\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }" { (labeled_statement "LAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" statement_identifier : (expression_statement "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" * (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" ( (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" & identifier) + (binary_expression "uVar16 * 4" identifier * number_literal)) ))))) ;)) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) (if_statement "if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }" if (parenthesized_expression "(local_88 == 0)" ( (binary_expression "local_88 == 0" identifier == number_literal) )) (compound_statement "{\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }" { (expression_statement "local_88 = FUN_00053d00(0,2,0);" (assignment_expression "local_88 = FUN_00053d00(0,2,0)" identifier = (call_expression "FUN_00053d00(0,2,0)" identifier (argument_list "(0,2,0)" ( number_literal , number_literal , number_literal )))) ;) (if_statement "if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }" if (parenthesized_expression "(local_88 != 0)" ( (binary_expression "local_88 != 0" identifier != number_literal) )) (compound_statement "{\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }" { (expression_statement "local_74 = (int)DAT_00089978 - (int)pbVar17;" (assignment_expression "local_74 = (int)DAT_00089978 - (int)pbVar17" identifier = (binary_expression "(int)DAT_00089978 - (int)pbVar17" (cast_expression "(int)DAT_00089978" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "bVar20 = bVar20 && local_88 != 0;" (assignment_expression "bVar20 = bVar20 && local_88 != 0" identifier = (binary_expression "bVar20 && local_88 != 0" identifier && (binary_expression "local_88 != 0" identifier != number_literal))) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) })) }))) }) (else_clause "else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" else (if_statement "if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" if (parenthesized_expression "(uVar16 == 0x3e)" ( (binary_expression "uVar16 == 0x3e" identifier == number_literal) )) (compound_statement "{\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }" { (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "bVar13 = DAT_00089978[1];" (assignment_expression "bVar13 = DAT_00089978[1]" identifier = (subscript_expression "DAT_00089978[1]" identifier [ number_literal ])) ;) (if_statement "if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }" if (parenthesized_expression "(bVar13 == 0x3d)" ( (binary_expression "bVar13 == 0x3d" identifier == number_literal) )) (compound_statement "{\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = 0x19;" (assignment_expression "local_88 = 0x19" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }) (else_clause "else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }" else (compound_statement "{\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }" { (expression_statement "local_74 = (bVar13 == 0x3e) + 1;" (assignment_expression "local_74 = (bVar13 == 0x3e) + 1" identifier = (binary_expression "(bVar13 == 0x3e) + 1" (parenthesized_expression "(bVar13 == 0x3e)" ( (binary_expression "bVar13 == 0x3e" identifier == number_literal) )) + number_literal)) ;) (expression_statement "local_88 = 0x1a;" (assignment_expression "local_88 = 0x1a" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) (if_statement "if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }" if (parenthesized_expression "(bVar13 == 0x3e)" ( (binary_expression "bVar13 == 0x3e" identifier == number_literal) )) (compound_statement "{\n              local_88 = 0xe;\n            }" { (expression_statement "local_88 = 0xe;" (assignment_expression "local_88 = 0xe" identifier = number_literal) ;) })) }))) }) (else_clause "else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" else (compound_statement "{\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" { (if_statement "if (uVar16 != 0x7c) goto LAB_00022883;" if (parenthesized_expression "(uVar16 != 0x7c)" ( (binary_expression "uVar16 != 0x7c" identifier != number_literal) )) (goto_statement "goto LAB_00022883;" goto statement_identifier ;)) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "local_74 = (DAT_00089978[1] == 0x7c) + 1;" (assignment_expression "local_74 = (DAT_00089978[1] == 0x7c) + 1" identifier = (binary_expression "(DAT_00089978[1] == 0x7c) + 1" (parenthesized_expression "(DAT_00089978[1] == 0x7c)" ( (binary_expression "DAT_00089978[1] == 0x7c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) + number_literal)) ;) (expression_statement "local_88 = 0xf;" (assignment_expression "local_88 = 0xf" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) (if_statement "if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }" if (parenthesized_expression "(DAT_00089978[1] == 0x7c)" ( (binary_expression "DAT_00089978[1] == 0x7c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            local_88 = 0x1c;\n          }" { (expression_statement "local_88 = 0x1c;" (assignment_expression "local_88 = 0x1c" identifier = number_literal) ;) })) }))))))))) }) (else_clause "else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" else (compound_statement "{\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" { (expression_statement "local_3d = FUN_000220a0(&local_3c);" (assignment_expression "local_3d = FUN_000220a0(&local_3c)" identifier = (call_expression "FUN_000220a0(&local_3c)" identifier (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "local_88 = FUN_00053d00(local_3c,2,&local_3d);" (assignment_expression "local_88 = FUN_00053d00(local_3c,2,&local_3d)" identifier = (call_expression "FUN_00053d00(local_3c,2,&local_3d)" identifier (argument_list "(local_3c,2,&local_3d)" ( identifier , number_literal , (pointer_expression "&local_3d" & identifier) )))) ;) (expression_statement "pbVar17 = local_3c;" (assignment_expression "pbVar17 = local_3c" identifier = identifier) ;) (if_statement "if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }" if (parenthesized_expression "(local_88 != 1)" ( (binary_expression "local_88 != 1" identifier != number_literal) )) (compound_statement "{\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }" { (if_statement "if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }" if (parenthesized_expression "((local_88 == 0) || (2 < local_88 - 7U))" ( (binary_expression "(local_88 == 0) || (2 < local_88 - 7U)" (parenthesized_expression "(local_88 == 0)" ( (binary_expression "local_88 == 0" identifier == number_literal) )) || (parenthesized_expression "(2 < local_88 - 7U)" ( (binary_expression "2 < local_88 - 7U" number_literal < (binary_expression "local_88 - 7U" identifier - number_literal)) ))) )) (compound_statement "{\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }" { (expression_statement "bVar20 = iVar11 != 0x1d && local_88 != 0;" (assignment_expression "bVar20 = iVar11 != 0x1d && local_88 != 0" identifier = (binary_expression "iVar11 != 0x1d && local_88 != 0" (binary_expression "iVar11 != 0x1d" identifier != number_literal) && (binary_expression "local_88 != 0" identifier != number_literal))) ;) }) (else_clause "else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }" else (compound_statement "{\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }" { (expression_statement "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);" (assignment_expression "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5)" identifier = (call_expression "dcgettext(0,"invalid use of operator \"%s\"",5)" identifier (argument_list "(0,"invalid use of operator \"%s\"",5)" ( number_literal , (string_literal ""invalid use of operator \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar7,pbVar17);" (call_expression "FUN_0002bd60(uVar7,pbVar17)" identifier (argument_list "(uVar7,pbVar17)" ( identifier , identifier ))) ;) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" identifier = false) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) }))) (expression_statement "*DAT_00089978 = local_3d;" (assignment_expression "*DAT_00089978 = local_3d" (pointer_expression "*DAT_00089978" * identifier) = identifier) ;) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;) (expression_statement "DAT_00089978 = local_3c;" (assignment_expression "DAT_00089978 = local_3c" identifier = identifier) ;) (expression_statement "local_74 = (int)pbVar17 - (int)local_3c;" (assignment_expression "local_74 = (int)pbVar17 - (int)local_3c" identifier = (binary_expression "(int)pbVar17 - (int)local_3c" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_00022388;" goto statement_identifier ;) })) (expression_statement "*DAT_00089978 = local_3d;" (assignment_expression "*DAT_00089978 = local_3d" (pointer_expression "*DAT_00089978" * identifier) = identifier) ;) (expression_statement "DAT_00089978 = local_3c;" (assignment_expression "DAT_00089978 = local_3c" identifier = identifier) ;) (if_statement "if (uVar16 != 0x2d) goto LAB_00022328;" if (parenthesized_expression "(uVar16 != 0x2d)" ( (binary_expression "uVar16 != 0x2d" identifier != number_literal) )) (goto_statement "goto LAB_00022328;" goto statement_identifier ;)) (labeled_statement "LAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" statement_identifier : (expression_statement "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" * (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" ( (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" & identifier) + (binary_expression "uVar16 * 4" identifier * number_literal)) ))))) ;)) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "bVar20 = local_88 != 0 && iVar11 != 0x1d;" (assignment_expression "bVar20 = local_88 != 0 && iVar11 != 0x1d" identifier = (binary_expression "local_88 != 0 && iVar11 != 0x1d" (binary_expression "local_88 != 0" identifier != number_literal) && (binary_expression "iVar11 != 0x1d" identifier != number_literal))) ;) })))) (labeled_statement "LAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }" statement_identifier : (if_statement "if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }" if (parenthesized_expression "((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88]))" ( (binary_expression "(bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])" (parenthesized_expression "(bVar20)" ( identifier )) && (parenthesized_expression "((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])" ( (binary_expression "(char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88]" (cast_expression "(char)(&DAT_00080220)[iVar11]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(&DAT_00080220)[iVar11]" (parenthesized_expression "(&DAT_00080220)" ( (pointer_expression "&DAT_00080220" & identifier) )) [ identifier ])) < (cast_expression "(char)(&DAT_00080220)[local_88]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(&DAT_00080220)[local_88]" (parenthesized_expression "(&DAT_00080220)" ( (pointer_expression "&DAT_00080220" & identifier) )) [ identifier ]))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }" { comment (expression_statement "FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204)" identifier (argument_list "("../../gas/expr.c",0x70d,&DAT_0005e204)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) ))) ;) }))) }))) (if_statement "if (iVar11 < 10) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }" if (parenthesized_expression "(iVar11 < 10)" ( (binary_expression "iVar11 < 10" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }" { comment (expression_statement "FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204)" identifier (argument_list "("../../gas/expr.c",0x70e,&DAT_0005e204)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) ))) ;) })) (if_statement "if (0x3d < iVar11) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }" if (parenthesized_expression "(0x3d < iVar11)" ( (binary_expression "0x3d < iVar11" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }" { comment (expression_statement "FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204)" identifier (argument_list "("../../gas/expr.c",0x712,&DAT_0005e204)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) ))) ;) })) (if_statement "if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }" if (parenthesized_expression "((char)param_2[4] == '\x06')" ( (binary_expression "(char)param_2[4] == '\x06'" (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }" { (if_statement "if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }" if (parenthesized_expression "(-param_2[3] < (int)(uint)(param_2[2] != 0))" ( (binary_expression "-param_2[3] < (int)(uint)(param_2[2] != 0)" (unary_expression "-param_2[3]" - (subscript_expression "param_2[3]" identifier [ number_literal ])) < (cast_expression "(int)(uint)(param_2[2] != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(param_2[2] != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2[2] != 0)" ( (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) != number_literal) ))))) )) (compound_statement "{\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }" { (expression_statement "pcVar9 = "left operand is a bignum; integer 0 assumed";" (assignment_expression "pcVar9 = "left operand is a bignum; integer 0 assumed"" identifier = (string_literal ""left operand is a bignum; integer 0 assumed"" " string_content ")) ;) }) (else_clause "else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }" else (compound_statement "{\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }" { (expression_statement "pcVar9 = "left operand is a float; integer 0 assumed";" (assignment_expression "pcVar9 = "left operand is a float; integer 0 assumed"" identifier = (string_literal ""left operand is a float; integer 0 assumed"" " string_content ")) ;) }))) (expression_statement "uVar7 = dcgettext(0,pcVar9,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar9,5)" identifier = (call_expression "dcgettext(0,pcVar9,5)" identifier (argument_list "(0,pcVar9,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*(undefined1 *)(param_2 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_2 + 4) = 2" (pointer_expression "*(undefined1 *)(param_2 + 4)" * (cast_expression "(undefined1 *)(param_2 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "param_2[1] = 0;" (assignment_expression "param_2[1] = 0" (subscript_expression "param_2[1]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "local_94._0_1_ = (undefined1)iVar11;" (assignment_expression "local_94._0_1_ = (undefined1)iVar11" (field_expression "local_94._0_1_" identifier . field_identifier) = (cast_expression "(undefined1)iVar11" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (if_statement "if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }" if (parenthesized_expression "(local_20 == '\x06')" ( (binary_expression "local_20 == '\x06'" identifier == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }" { (if_statement "if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }" if (parenthesized_expression "((int)-local_24 < (int)(uint)(local_28 != 0))" ( (binary_expression "(int)-local_24 < (int)(uint)(local_28 != 0)" (cast_expression "(int)-local_24" ( (type_descriptor "int" primitive_type) ) (unary_expression "-local_24" - identifier)) < (cast_expression "(int)(uint)(local_28 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(local_28 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) ))))) )) (compound_statement "{\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }" { (expression_statement "pcVar9 = "right operand is a bignum; integer 0 assumed";" (assignment_expression "pcVar9 = "right operand is a bignum; integer 0 assumed"" identifier = (string_literal ""right operand is a bignum; integer 0 assumed"" " string_content ")) ;) }) (else_clause "else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }" else (compound_statement "{\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }" { (expression_statement "pcVar9 = "right operand is a float; integer 0 assumed";" (assignment_expression "pcVar9 = "right operand is a float; integer 0 assumed"" identifier = (string_literal ""right operand is a float; integer 0 assumed"" " string_content ")) ;) }))) (expression_statement "uVar7 = dcgettext(0,pcVar9,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar9,5)" identifier = (call_expression "dcgettext(0,pcVar9,5)" identifier (argument_list "(0,pcVar9,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "local_20 = '\x02';" (assignment_expression "local_20 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_30 = (byte *)0x0;" (assignment_expression "local_30 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (if_statement "if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(iVar11 != 0x13)" ( (binary_expression "iVar11 != 0x13" identifier != number_literal) )) (compound_statement "{\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" { (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" identifier = (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (if_statement "if (iVar11 != 0x14) goto LAB_000223e8;" if (parenthesized_expression "(iVar11 != 0x14)" ( (binary_expression "iVar11 != 0x14" identifier != number_literal) )) (goto_statement "goto LAB_000223e8;" goto statement_identifier ;)) (if_statement "if (cVar12 == '\x05') goto LAB_00022cb4;" if (parenthesized_expression "(cVar12 == '\x05')" ( (binary_expression "cVar12 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022cb4;" goto statement_identifier ;)) (labeled_statement "LAB_00022980:\n        uVar16 = param_2[2];" statement_identifier : (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;)) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);" (assignment_expression "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "(uVar19 - local_24) - (uint)(uVar16 < local_28)" (parenthesized_expression "(uVar19 - local_24)" ( (binary_expression "uVar19 - local_24" identifier - identifier) )) - (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_28)" ( (binary_expression "uVar16 < local_28" identifier < identifier) ))))) ;) (expression_statement "bVar5 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar5 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "param_2[2] = uVar16 - local_28;" (assignment_expression "param_2[2] = uVar16 - local_28" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar16 - local_28" identifier - identifier)) ;) (expression_statement "bVar13 = (bVar5 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (bVar5 ^ local_1f) >> 1 & 1" identifier = (binary_expression "(bVar5 ^ local_1f) >> 1 & 1" (binary_expression "(bVar5 ^ local_1f) >> 1" (parenthesized_expression "(bVar5 ^ local_1f)" ( (binary_expression "bVar5 ^ local_1f" identifier ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;" if (parenthesized_expression "(uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28))" ( (binary_expression "uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 < local_24" identifier < identifier) || (binary_expression "uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 - local_24" identifier - identifier) < (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_28)" ( (binary_expression "uVar16 < local_28" identifier < identifier) ))))) )) (goto_statement "goto LAB_0002301d;" goto statement_identifier ;)) (labeled_statement "LAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;" statement_identifier : (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 * '\x02' | bVar5 & 0xfd" (binary_expression "bVar13 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar5 & 0xfd" identifier & number_literal))) ;)) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (if_statement "if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }" if (parenthesized_expression "((char)param_2[4] != '\x05')" ( (binary_expression "(char)param_2[4] != '\x05'" (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }" { (expression_statement "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" identifier = (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1" (parenthesized_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f)" ( (binary_expression "*(byte *)((int)param_2 + 0x11) ^ local_1f" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ^ identifier) )) >> number_literal) & number_literal)) ;) (labeled_statement "LAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';" statement_identifier : (expression_statement "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02'" (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "bVar13 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;)) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (labeled_statement "LAB_00022c1a:\n      local_94._0_1_ = 0x13;" statement_identifier : (expression_statement "local_94._0_1_ = 0x13;" (assignment_expression "local_94._0_1_ = 0x13" (field_expression "local_94._0_1_" identifier . field_identifier) = number_literal) ;)) (goto_statement "goto LAB_00022406;" goto statement_identifier ;) })) (if_statement "if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }" if (parenthesized_expression "(iVar11 == 0x13)" ( (binary_expression "iVar11 == 0x13" identifier == number_literal) )) (compound_statement "{\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }" { (if_statement "if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(local_20 == '\x02')" ( (binary_expression "local_20 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" { (if_statement "if ((char)param_2[4] == '\x05') goto LAB_00022c1a;" if (parenthesized_expression "((char)param_2[4] == '\x05')" ( (binary_expression "(char)param_2[4] == '\x05'" (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) == (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022c1a;" goto statement_identifier ;)) (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "bVar5 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar5 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);" (assignment_expression "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" identifier = (binary_expression "uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" (binary_expression "uVar19 + local_24" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar16,local_28)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar16,local_28)" identifier (argument_list "(uVar16,local_28)" ( identifier , identifier )))))) ;) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[2] = uVar16 + local_28;" (assignment_expression "param_2[2] = uVar16 + local_28" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar16 + local_28" identifier + identifier)) ;) (expression_statement "bVar13 = (bVar5 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (bVar5 ^ local_1f) >> 1 & 1" identifier = (binary_expression "(bVar5 ^ local_1f) >> 1 & 1" (binary_expression "(bVar5 ^ local_1f) >> 1" (parenthesized_expression "(bVar5 ^ local_1f)" ( (binary_expression "bVar5 ^ local_1f" identifier ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;" if (parenthesized_expression "(uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)" ( (binary_expression "uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (binary_expression "uVar19 <= uVar15" identifier <= identifier) && (binary_expression "(uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (call_expression "(uint)(uVar16 + local_28 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 + local_28 < uVar16)" ( (binary_expression "uVar16 + local_28 < uVar16" (binary_expression "uVar16 + local_28" identifier + identifier) < identifier) ))) <= (binary_expression "uVar15 - uVar19" identifier - identifier))) )) (goto_statement "goto LAB_00023225;" goto statement_identifier ;)) (labeled_statement "LAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;" statement_identifier : (expression_statement "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (binary_expression "(bVar13 ^ 1) * '\x02'" (parenthesized_expression "(bVar13 ^ 1)" ( (binary_expression "bVar13 ^ 1" identifier ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar5 & 0xfd" identifier & number_literal))) ;)) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" identifier = (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (if_statement "if (cVar12 != '\x02') goto LAB_000223f1;" if (parenthesized_expression "(cVar12 != '\x02')" ( (binary_expression "cVar12 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto LAB_000223f1;" goto statement_identifier ;)) (if_statement "if (local_20 == '\x05') goto LAB_00022a33;" if (parenthesized_expression "(local_20 == '\x05')" ( (binary_expression "local_20 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022a33;" goto statement_identifier ;)) (expression_statement "uVar16 = param_2[3];" (assignment_expression "uVar16 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "*(char *)(param_2 + 4) = local_20;" (assignment_expression "*(char *)(param_2 + 4) = local_20" (pointer_expression "*(char *)(param_2 + 4)" * (cast_expression "(char *)(param_2 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*param_2 = (int)local_30;" (assignment_expression "*param_2 = (int)local_30" (pointer_expression "*param_2" * identifier) = (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_2[1] = local_2c;" (assignment_expression "param_2[1] = local_2c" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar19 = param_2[2];" (assignment_expression "uVar19 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);" (assignment_expression "uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28)" identifier = (binary_expression "uVar16 + local_24 + (uint)CARRY4(uVar19,local_28)" (binary_expression "uVar16 + local_24" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar19,local_28)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar19,local_28)" identifier (argument_list "(uVar19,local_28)" ( identifier , identifier )))))) ;) (expression_statement "param_2[2] = uVar19 + local_28;" (assignment_expression "param_2[2] = uVar19 + local_28" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar19 + local_28" identifier + identifier)) ;) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" identifier = (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1" (parenthesized_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f)" ( (binary_expression "*(byte *)((int)param_2 + 0x11) ^ local_1f" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }" if (parenthesized_expression "(uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19))" ( (binary_expression "uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)" (binary_expression "uVar15 < uVar16" identifier < identifier) || (binary_expression "uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)" (binary_expression "uVar15 - uVar16" identifier - identifier) < (call_expression "(uint)(uVar19 + local_28 < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 + local_28 < uVar19)" ( (binary_expression "uVar19 + local_28 < uVar19" (binary_expression "uVar19 + local_28" identifier + identifier) < identifier) ))))) )) (compound_statement "{\n        bVar13 = bVar13 ^ 1;\n      }" { (expression_statement "bVar13 = bVar13 ^ 1;" (assignment_expression "bVar13 = bVar13 ^ 1" identifier = (binary_expression "bVar13 ^ 1" identifier ^ number_literal)) ;) })) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd" (binary_expression "bVar13 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal))) ;) (expression_statement "local_80 = puVar8;" (assignment_expression "local_80 = puVar8" identifier = identifier) ;) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;) })) (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" identifier = (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (if_statement "if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }" if (parenthesized_expression "(iVar11 == 0x14)" ( (binary_expression "iVar11 == 0x14" identifier == number_literal) )) (compound_statement "{\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }" { (if_statement "if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }" if (parenthesized_expression "(local_20 == '\x03')" ( (binary_expression "local_20 == '\x03'" identifier == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }" { (if_statement "if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;" if (parenthesized_expression "((cVar12 != '\x03') || (puVar8 != puVar2))" ( (binary_expression "(cVar12 != '\x03') || (puVar8 != puVar2)" (parenthesized_expression "(cVar12 != '\x03')" ( (binary_expression "cVar12 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) )) || (parenthesized_expression "(puVar8 != puVar2)" ( (binary_expression "puVar8 != puVar2" identifier != identifier) ))) )) (goto_statement "goto LAB_000223e8;" goto statement_identifier ;)) (expression_statement "pbVar17 = (byte *)*param_2;" (assignment_expression "pbVar17 = (byte *)*param_2" identifier = (cast_expression "(byte *)*param_2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (if_statement "if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" if (parenthesized_expression "((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8))))" ( (binary_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))" (parenthesized_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0" identifier == (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal)) )) || (parenthesized_expression "(((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))" ( (parenthesized_expression "((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8))" ( (binary_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)" (parenthesized_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8))" ( (binary_expression "puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)" (binary_expression "puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180" identifier == (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal)) || (parenthesized_expression "(DAT_000897ec == puVar8)" ( (binary_expression "DAT_000897ec == puVar8" identifier == identifier) ))) )) || (parenthesized_expression "(DAT_00089720 == puVar8)" ( (binary_expression "DAT_00089720 == puVar8" identifier == identifier) ))) )) ))) )) (compound_statement "{\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }" { (labeled_statement "LAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;" statement_identifier : (if_statement "if (local_30 == pbVar17) goto LAB_000234b2;" if (parenthesized_expression "(local_30 == pbVar17)" ( (binary_expression "local_30 == pbVar17" identifier == identifier) )) (goto_statement "goto LAB_000234b2;" goto statement_identifier ;))) }) (else_clause "else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" else (compound_statement "{\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" { (expression_statement "iVar6 = FUN_00038720(pbVar17,0);" (assignment_expression "iVar6 = FUN_00038720(pbVar17,0)" identifier = (call_expression "FUN_00038720(pbVar17,0)" identifier (argument_list "(pbVar17,0)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }" if (parenthesized_expression "((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0))" ( (binary_expression "(iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0" (assignment_expression "iVar6 = FUN_00038720(local_30,0)" identifier = (call_expression "FUN_00038720(local_30,0)" identifier (argument_list "(local_30,0)" ( identifier , number_literal )))) , (comma_expression "pbVar17 = local_30, iVar6 != 0" (assignment_expression "pbVar17 = local_30" identifier = identifier) , (binary_expression "iVar6 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }" { (expression_statement "pbVar17 = (byte *)*param_2;" (assignment_expression "pbVar17 = (byte *)*param_2" identifier = (cast_expression "(byte *)*param_2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (goto_statement "goto LAB_00022c90;" goto statement_identifier ;) })) (labeled_statement "LAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);" statement_identifier : (expression_statement "uVar7 = FUN_0003b830(pbVar17);" (assignment_expression "uVar7 = FUN_0003b830(pbVar17)" identifier = (call_expression "FUN_0003b830(pbVar17)" identifier (argument_list "(pbVar17)" ( identifier )))) ;)) (expression_statement "uVar10 = FUN_0003b830(*param_2);" (assignment_expression "uVar10 = FUN_0003b830(*param_2)" identifier = (call_expression "FUN_0003b830(*param_2)" identifier (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) )))) ;) (expression_statement "iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);" (assignment_expression "iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c)" identifier = (call_expression "FUN_00024ed0(uVar10,uVar7,&local_3c)" identifier (argument_list "(uVar10,uVar7,&local_3c)" ( identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }" { (expression_statement "lVar22 = FUN_0003a3c0(*param_2);" (assignment_expression "lVar22 = FUN_0003a3c0(*param_2)" identifier = (call_expression "FUN_0003a3c0(*param_2)" identifier (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) )))) ;) (expression_statement "lVar23 = FUN_0003a3c0(local_30);" (assignment_expression "lVar23 = FUN_0003a3c0(local_30)" identifier = (call_expression "FUN_0003a3c0(local_30)" identifier (argument_list "(local_30)" ( identifier )))) ;) (expression_statement "uVar16 = param_2[3];" (assignment_expression "uVar16 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = param_2[2];" (assignment_expression "uVar19 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "pbVar17 = (byte *)(uVar19 - local_28);" (assignment_expression "pbVar17 = (byte *)(uVar19 - local_28)" identifier = (cast_expression "(byte *)(uVar19 - local_28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar19 - local_28)" ( (binary_expression "uVar19 - local_28" identifier - identifier) )))) ;) (expression_statement "uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);" (assignment_expression "uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28)" identifier = (binary_expression "(uVar16 - local_24) - (uint)(uVar19 < local_28)" (parenthesized_expression "(uVar16 - local_24)" ( (binary_expression "uVar16 - local_24" identifier - identifier) )) - (call_expression "(uint)(uVar19 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < local_28)" ( (binary_expression "uVar19 < local_28" identifier < identifier) ))))) ;) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "param_2[2] = (int)pbVar17;" (assignment_expression "param_2[2] = (int)pbVar17" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "bVar5 = (bVar13 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar5 = (bVar13 ^ local_1f) >> 1 & 1" identifier = (binary_expression "(bVar13 ^ local_1f) >> 1 & 1" (binary_expression "(bVar13 ^ local_1f) >> 1" (parenthesized_expression "(bVar13 ^ local_1f)" ( (binary_expression "bVar13 ^ local_1f" identifier ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" if (parenthesized_expression "(uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28))" ( (binary_expression "uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)" (binary_expression "uVar16 < local_24" identifier < identifier) || (binary_expression "uVar16 - local_24 < (uint)(uVar19 < local_28)" (binary_expression "uVar16 - local_24" identifier - identifier) < (call_expression "(uint)(uVar19 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < local_28)" ( (binary_expression "uVar19 < local_28" identifier < identifier) ))))) )) (compound_statement "{\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" { (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" identifier = (binary_expression "bVar5 ^ 1" identifier ^ number_literal)) ;) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 & 0xfd | bVar5 * '\x02'" (binary_expression "bVar13 & 0xfd" identifier & number_literal) | (binary_expression "bVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) }) (else_clause "else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" else (compound_statement "{\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" { (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 & 0xfd | bVar5 * '\x02'" (binary_expression "bVar13 & 0xfd" identifier & number_literal) | (binary_expression "bVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) }))) (expression_statement "uVar16 = (int)pbVar17 - (int)local_3c;" (assignment_expression "uVar16 = (int)pbVar17 - (int)local_3c" identifier = (binary_expression "(int)pbVar17 - (int)local_3c" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);" (assignment_expression "uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c)" identifier = (binary_expression "(uVar15 - local_38) - (uint)(pbVar17 < local_3c)" (parenthesized_expression "(uVar15 - local_38)" ( (binary_expression "uVar15 - local_38" identifier - identifier) )) - (call_expression "(uint)(pbVar17 < local_3c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar17 < local_3c)" ( (binary_expression "pbVar17 < local_3c" identifier < identifier) ))))) ;) (expression_statement "param_2[2] = uVar16;" (assignment_expression "param_2[2] = uVar16" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[3] = uVar19;" (assignment_expression "param_2[3] = uVar19" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }" if (parenthesized_expression "(uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c))" ( (binary_expression "uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)" (binary_expression "uVar15 < local_38" identifier < identifier) || (binary_expression "uVar15 - local_38 < (uint)(pbVar17 < local_3c)" (binary_expression "uVar15 - local_38" identifier - identifier) < (call_expression "(uint)(pbVar17 < local_3c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar17 < local_3c)" ( (binary_expression "pbVar17 < local_3c" identifier < identifier) ))))) )) (compound_statement "{\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }" { (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" identifier = (binary_expression "bVar5 ^ 1" identifier ^ number_literal)) ;) (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02'" identifier = (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02'" (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "bVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }" else (compound_statement "{\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }" { (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (expression_statement "lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);" (assignment_expression "lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16)" identifier = (binary_expression "(lVar22 - lVar23) + CONCAT44(uVar19,uVar16)" (parenthesized_expression "(lVar22 - lVar23)" ( (binary_expression "lVar22 - lVar23" identifier - identifier) )) + (call_expression "CONCAT44(uVar19,uVar16)" identifier (argument_list "(uVar19,uVar16)" ( identifier , identifier ))))) ;) (expression_statement "uVar15 = (uint)((ulonglong)lVar1 >> 0x20);" (assignment_expression "uVar15 = (uint)((ulonglong)lVar1 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar1 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar1 >> 0x20)" ( (binary_expression "(ulonglong)lVar1 >> 0x20" (cast_expression "(ulonglong)lVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(longlong *)(param_2 + 2) = lVar1;" (assignment_expression "*(longlong *)(param_2 + 2) = lVar1" (pointer_expression "*(longlong *)(param_2 + 2)" * (cast_expression "(longlong *)(param_2 + 2)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 2)" ( (binary_expression "param_2 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);" (assignment_expression "bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f)" identifier = (binary_expression "bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f)" identifier ^ (call_expression "(byte)((ulonglong)(lVar22 - lVar23) >> 0x3f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ulonglong)(lVar22 - lVar23) >> 0x3f)" ( (binary_expression "(ulonglong)(lVar22 - lVar23) >> 0x3f" (call_expression "(ulonglong)(lVar22 - lVar23)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar22 - lVar23)" ( (binary_expression "lVar22 - lVar23" identifier - identifier) ))) >> number_literal) ))))) ;) (if_statement "if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }" if (parenthesized_expression "(uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16))" ( (binary_expression "uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)" (binary_expression "uVar15 < uVar19" identifier < identifier) || (binary_expression "uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)" (binary_expression "uVar15 - uVar19" identifier - identifier) < (call_expression "(uint)((uint)lVar1 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar1 < uVar16)" ( (binary_expression "(uint)lVar1 < uVar16" (cast_expression "(uint)lVar1" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) )) (compound_statement "{\n              bVar5 = bVar5 ^ 1;\n            }" { (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" identifier = (binary_expression "bVar5 ^ 1" identifier ^ number_literal)) ;) })) (expression_statement "*(undefined1 *)(param_2 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_2 + 4) = 2" (pointer_expression "*(undefined1 *)(param_2 + 4)" * (cast_expression "(undefined1 *)(param_2 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 & 0xfd | bVar5 * '\x02'" (binary_expression "bVar13 & 0xfd" identifier & number_literal) | (binary_expression "bVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;) })) }))) (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" identifier = (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) })) (if_statement "if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }" if (parenthesized_expression "(local_20 == '\x02')" ( (binary_expression "local_20 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }" { (if_statement "if (cVar12 != '\x05') goto LAB_00022980;" if (parenthesized_expression "(cVar12 != '\x05')" ( (binary_expression "cVar12 != '\x05'" identifier != (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022980;" goto statement_identifier ;)) (labeled_statement "LAB_00022cb4:\n        local_94._0_1_ = 0x14;" statement_identifier : (expression_statement "local_94._0_1_ = 0x14;" (assignment_expression "local_94._0_1_ = 0x14" (field_expression "local_94._0_1_" identifier . field_identifier) = number_literal) ;)) (goto_statement "goto LAB_00022406;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000223e8:\n    uVar19 = local_24;" statement_identifier : (expression_statement "uVar19 = local_24;" (assignment_expression "uVar19 = local_24" identifier = identifier) ;)) (expression_statement "uVar16 = local_28;" (assignment_expression "uVar16 = local_28" identifier = identifier) ;) (if_statement "if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }" if (parenthesized_expression "(cVar12 != '\x02')" ( (binary_expression "cVar12 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }" { (labeled_statement "LAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;" statement_identifier : (if_statement "if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;" if (parenthesized_expression "((cVar12 != '\x03') || (local_20 != '\x03'))" ( (binary_expression "(cVar12 != '\x03') || (local_20 != '\x03')" (parenthesized_expression "(cVar12 != '\x03')" ( (binary_expression "cVar12 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) )) || (parenthesized_expression "(local_20 != '\x03')" ( (binary_expression "local_20 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00022406;" goto statement_identifier ;))) (if_statement "if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(1 < iVar11 - 0x13U)" ( (binary_expression "1 < iVar11 - 0x13U" number_literal < (binary_expression "iVar11 - 0x13U" identifier - number_literal)) )) (compound_statement "{\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }" { (if_statement "if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;" if (parenthesized_expression "((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))" ( (binary_expression "(param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0)" (parenthesized_expression "(param_2[3] != 0 || local_24 != 0)" ( (binary_expression "param_2[3] != 0 || local_24 != 0" (binary_expression "param_2[3] != 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) != number_literal) || (binary_expression "local_24 != 0" identifier != number_literal)) )) || (parenthesized_expression "(param_2[2] != 0 || local_28 != 0)" ( (binary_expression "param_2[2] != 0 || local_28 != 0" (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) != number_literal) || (binary_expression "local_28 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00022406;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(param_2 + 4) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(param_2 + 4) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(param_2 + 4)" * (cast_expression "(undefined1 *)(param_2 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "param_2[1] = (int)local_30;" (assignment_expression "param_2[1] = (int)local_30" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_2 + 4) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(param_2 + 4) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(param_2 + 4)" * (cast_expression "(undefined1 *)(param_2 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "param_2[1] = (int)local_30;" (assignment_expression "param_2[1] = (int)local_30" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(iVar11 == 0x13)" ( (binary_expression "iVar11 == 0x13" identifier == number_literal) )) (compound_statement "{\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" { (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "bVar5 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar5 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);" (assignment_expression "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" identifier = (binary_expression "uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" (binary_expression "uVar19 + local_24" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar16,local_28)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar16,local_28)" identifier (argument_list "(uVar16,local_28)" ( identifier , identifier )))))) ;) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[2] = uVar16 + local_28;" (assignment_expression "param_2[2] = uVar16 + local_28" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar16 + local_28" identifier + identifier)) ;) (expression_statement "bVar13 = (bVar5 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (bVar5 ^ local_1f) >> 1 & 1" identifier = (binary_expression "(bVar5 ^ local_1f) >> 1 & 1" (binary_expression "(bVar5 ^ local_1f) >> 1" (parenthesized_expression "(bVar5 ^ local_1f)" ( (binary_expression "bVar5 ^ local_1f" identifier ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;" if (parenthesized_expression "(uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)" ( (binary_expression "uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (binary_expression "uVar19 <= uVar15" identifier <= identifier) && (binary_expression "(uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (call_expression "(uint)(uVar16 + local_28 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 + local_28 < uVar16)" ( (binary_expression "uVar16 + local_28 < uVar16" (binary_expression "uVar16 + local_28" identifier + identifier) < identifier) ))) <= (binary_expression "uVar15 - uVar19" identifier - identifier))) )) (goto_statement "goto LAB_000229b7;" goto statement_identifier ;)) (expression_statement "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (binary_expression "(bVar13 ^ 1) * '\x02'" (parenthesized_expression "(bVar13 ^ 1)" ( (binary_expression "bVar13 ^ 1" identifier ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar5 & 0xfd" identifier & number_literal))) ;) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[2] = uVar16 - local_28;" (assignment_expression "param_2[2] = uVar16 - local_28" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar16 - local_28" identifier - identifier)) ;) (expression_statement "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);" (assignment_expression "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "(uVar19 - local_24) - (uint)(uVar16 < local_28)" (parenthesized_expression "(uVar19 - local_24)" ( (binary_expression "uVar19 - local_24" identifier - identifier) )) - (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_28)" ( (binary_expression "uVar16 < local_28" identifier < identifier) ))))) ;) (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar5 = (local_1f ^ bVar13) >> 1 & 1;" (assignment_expression "bVar5 = (local_1f ^ bVar13) >> 1 & 1" identifier = (binary_expression "(local_1f ^ bVar13) >> 1 & 1" (binary_expression "(local_1f ^ bVar13) >> 1" (parenthesized_expression "(local_1f ^ bVar13)" ( (binary_expression "local_1f ^ bVar13" identifier ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }" if (parenthesized_expression "(uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28))" ( (binary_expression "uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 < local_24" identifier < identifier) || (binary_expression "uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 - local_24" identifier - identifier) < (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_28)" ( (binary_expression "uVar16 < local_28" identifier < identifier) ))))) )) (compound_statement "{\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }" { (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 & 0xfd | (bVar5 ^ 1) * '\x02'" (binary_expression "bVar13 & 0xfd" identifier & number_literal) | (binary_expression "(bVar5 ^ 1) * '\x02'" (parenthesized_expression "(bVar5 ^ 1)" ( (binary_expression "bVar5 ^ 1" identifier ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')))) ;) }) (else_clause "else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }" else (compound_statement "{\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }" { (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar5 * '\x02' | bVar13 & 0xfd" (binary_expression "bVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar13 & 0xfd" identifier & number_literal))) ;) }))) (expression_statement "puVar18 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar18 = PTR__bfd_std_section_0007ffb0" identifier = identifier) ;) (if_statement "if (puVar8 != puVar2) goto LAB_00022450;" if (parenthesized_expression "(puVar8 != puVar2)" ( (binary_expression "puVar8 != puVar2" identifier != identifier) )) (goto_statement "goto LAB_00022450;" goto statement_identifier ;)) (if_statement "if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }" if (parenthesized_expression "(puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180)" ( (binary_expression "puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180" identifier == (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal)) )) (compound_statement "{\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }" { (labeled_statement "LAB_00023318:\n        local_80 = puVar18 + 0x180;" statement_identifier : (expression_statement "local_80 = puVar18 + 0x180;" (assignment_expression "local_80 = puVar18 + 0x180" identifier = (binary_expression "puVar18 + 0x180" identifier + number_literal)) ;)) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;) })) (if_statement "if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }" if (parenthesized_expression "(puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0" identifier != (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal)) )) (compound_statement "{\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }" { (if_statement "if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;" if (parenthesized_expression "((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0))" ( (binary_expression "(((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)" (parenthesized_expression "(((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0))" ( (binary_expression "((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)" (parenthesized_expression "((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2))" ( (binary_expression "(DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)" (parenthesized_expression "(DAT_000897ec == puVar2)" ( (binary_expression "DAT_000897ec == puVar2" identifier == identifier) )) || (parenthesized_expression "(DAT_00089720 == puVar2)" ( (binary_expression "DAT_00089720 == puVar2" identifier == identifier) ))) )) || (parenthesized_expression "(iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)" ( (comma_expression "iVar11 = FUN_00038720(*param_2,0), iVar11 != 0" (assignment_expression "iVar11 = FUN_00038720(*param_2,0)" identifier = (call_expression "FUN_00038720(*param_2,0)" identifier (argument_list "(*param_2,0)" ( (pointer_expression "*param_2" * identifier) , number_literal )))) , (binary_expression "iVar11 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar11 = FUN_00038720(local_30,0), iVar11 != 0)" ( (comma_expression "iVar11 = FUN_00038720(local_30,0), iVar11 != 0" (assignment_expression "iVar11 = FUN_00038720(local_30,0)" identifier = (call_expression "FUN_00038720(local_30,0)" identifier (argument_list "(local_30,0)" ( identifier , number_literal )))) , (binary_expression "iVar11 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;)) (goto_statement "goto LAB_00023318;" goto statement_identifier ;) })) (goto_statement "goto LAB_000228f0;" goto statement_identifier ;) })) (if_statement "if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }" if (parenthesized_expression "(local_20 != '\x02')" ( (binary_expression "local_20 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }" { (labeled_statement "LAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);" statement_identifier : (labeled_statement "LAB_00022406:\n      iVar6 = FUN_00021220(param_2);" statement_identifier : (expression_statement "iVar6 = FUN_00021220(param_2);" (assignment_expression "iVar6 = FUN_00021220(param_2)" identifier = (call_expression "FUN_00021220(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;))) (expression_statement "*param_2 = iVar6;" (assignment_expression "*param_2 = iVar6" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "iVar6 = FUN_00021220(&local_30);" (assignment_expression "iVar6 = FUN_00021220(&local_30)" identifier = (call_expression "FUN_00021220(&local_30)" identifier (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[1] = iVar6;" (assignment_expression "param_2[1] = iVar6" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(param_2 + 4) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(param_2 + 4) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(param_2 + 4)" * (cast_expression "(undefined1 *)(param_2 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfc | 1" (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfc" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "local_5c = local_28;" (assignment_expression "local_5c = local_28" identifier = identifier) ;) (expression_statement "local_58 = local_24;" (assignment_expression "local_58 = local_24" identifier = identifier) ;) (if_statement "if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" if (parenthesized_expression "(local_24 == 0 && local_28 == 0)" ( (binary_expression "local_24 == 0 && local_28 == 0" (binary_expression "local_24 == 0" identifier == number_literal) && (binary_expression "local_28 == 0" identifier == number_literal)) )) (compound_statement "{\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }" { (if_statement "if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }" if (parenthesized_expression "(iVar11 - 0xbU < 2)" ( (binary_expression "iVar11 - 0xbU < 2" (binary_expression "iVar11 - 0xbU" identifier - number_literal) < number_literal) )) (compound_statement "{\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }" { (expression_statement "uVar7 = dcgettext(0,"division by zero",5);" (assignment_expression "uVar7 = dcgettext(0,"division by zero",5)" identifier = (call_expression "dcgettext(0,"division by zero",5)" identifier (argument_list "(0,"division by zero",5)" ( number_literal , (string_literal ""division by zero"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "local_5c = 1;" (assignment_expression "local_5c = 1" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) })) }) (else_clause "else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" else (if_statement "if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" if (parenthesized_expression "((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2))" ( (binary_expression "(local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)" (parenthesized_expression "(local_24 != 0 || -local_24 < (uint)(0x3f < local_28))" ( (binary_expression "local_24 != 0 || -local_24 < (uint)(0x3f < local_28)" (binary_expression "local_24 != 0" identifier != number_literal) || (binary_expression "-local_24 < (uint)(0x3f < local_28)" (unary_expression "-local_24" - identifier) < (call_expression "(uint)(0x3f < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3f < local_28)" ( (binary_expression "0x3f < local_28" number_literal < identifier) ))))) )) && (parenthesized_expression "(iVar11 - 0xdU < 2)" ( (binary_expression "iVar11 - 0xdU < 2" (binary_expression "iVar11 - 0xdU" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" { (expression_statement "uVar7 = dcgettext(0,"shift count",5);" (assignment_expression "uVar7 = dcgettext(0,"shift count",5)" identifier = (call_expression "dcgettext(0,"shift count",5)" identifier (argument_list "(0,"shift count",5)" ( number_literal , (string_literal ""shift count"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);" (call_expression "FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0)" identifier (argument_list "(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0)" ( identifier , identifier , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal ))) ;) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) })))) (switch_statement "switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }" switch (parenthesized_expression "(iVar11)" ( identifier )) (compound_statement "{\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }" { (case_statement "case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;" case number_literal : (expression_statement "iVar6 = param_2[2];" (assignment_expression "iVar6 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);" (assignment_expression "param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16)" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)local_5c * (ulonglong)uVar16)" ( (binary_expression "(ulonglong)local_5c * (ulonglong)uVar16" (cast_expression "(ulonglong)local_5c" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) )))) ;) (expression_statement "param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;" (assignment_expression "param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58" (binary_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c" (cast_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20)" ( (binary_expression "(ulonglong)local_5c * (ulonglong)uVar16 >> 0x20" (binary_expression "(ulonglong)local_5c * (ulonglong)uVar16" (cast_expression "(ulonglong)local_5c" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) >> number_literal) ))) + (binary_expression "param_2[3] * local_5c" (subscript_expression "param_2[3]" identifier [ number_literal ]) * identifier)) + (binary_expression "iVar6 * local_58" identifier * identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;" case number_literal : (expression_statement "uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);" (assignment_expression "uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58)" identifier = (call_expression "FUN_00059a10(param_2[2],param_2[3],local_5c,local_58)" identifier (argument_list "(param_2[2],param_2[3],local_5c,local_58)" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , (subscript_expression "param_2[3]" identifier [ number_literal ]) , identifier , identifier )))) ;) (expression_statement "*(undefined8 *)(param_2 + 2) = uVar21;" (assignment_expression "*(undefined8 *)(param_2 + 2) = uVar21" (pointer_expression "*(undefined8 *)(param_2 + 2)" * (cast_expression "(undefined8 *)(param_2 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 2)" ( (binary_expression "param_2 + 2" identifier + number_literal) )))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;" case number_literal : (expression_statement "uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);" (assignment_expression "uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58)" identifier = (call_expression "FUN_00059b60(param_2[2],param_2[3],local_5c,local_58)" identifier (argument_list "(param_2[2],param_2[3],local_5c,local_58)" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , (subscript_expression "param_2[3]" identifier [ number_literal ]) , identifier , identifier )))) ;) (expression_statement "*(undefined8 *)(param_2 + 2) = uVar21;" (assignment_expression "*(undefined8 *)(param_2 + 2) = uVar21" (pointer_expression "*(undefined8 *)(param_2 + 2)" * (cast_expression "(undefined8 *)(param_2 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 2)" ( (binary_expression "param_2 + 2" identifier + number_literal) )))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;" case number_literal : (expression_statement "uVar15 = param_2[2] << ((byte)local_5c & 0x1f);" (assignment_expression "uVar15 = param_2[2] << ((byte)local_5c & 0x1f)" identifier = (binary_expression "param_2[2] << ((byte)local_5c & 0x1f)" (subscript_expression "param_2[2]" identifier [ number_literal ]) << (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar19 = uVar15;" (assignment_expression "uVar19 = uVar15" identifier = identifier) ;) (expression_statement "uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);" (assignment_expression "uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f)" identifier = (binary_expression "param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f)" (binary_expression "param_2[3] << ((byte)local_5c & 0x1f)" (subscript_expression "param_2[3]" identifier [ number_literal ]) << (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "(uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f)" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) >> (binary_expression "0x20 - ((byte)local_5c & 0x1f)" number_literal - (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" if (parenthesized_expression "((local_5c & 0x20) != 0)" ( (binary_expression "(local_5c & 0x20) != 0" (parenthesized_expression "(local_5c & 0x20)" ( (binary_expression "local_5c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = uVar15;" (assignment_expression "uVar16 = uVar15" identifier = identifier) ;) })) (expression_statement "param_2[3] = uVar16;" (assignment_expression "param_2[3] = uVar16" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[2] = uVar19;" (assignment_expression "param_2[2] = uVar19" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;" case number_literal : (expression_statement "uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);" (assignment_expression "uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f)" identifier = (binary_expression "(uint)param_2[3] >> ((byte)local_5c & 0x1f)" (cast_expression "(uint)param_2[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[3]" identifier [ number_literal ])) >> (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar19 = uVar15;" (assignment_expression "uVar19 = uVar15" identifier = identifier) ;) (expression_statement "uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);" (assignment_expression "uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f)" identifier = (binary_expression "(uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f)" (binary_expression "(uint)param_2[2] >> ((byte)local_5c & 0x1f)" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) >> (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "param_2[3] << 0x20 - ((byte)local_5c & 0x1f)" (subscript_expression "param_2[3]" identifier [ number_literal ]) << (binary_expression "0x20 - ((byte)local_5c & 0x1f)" number_literal - (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" if (parenthesized_expression "((local_5c & 0x20) != 0)" ( (binary_expression "(local_5c & 0x20) != 0" (parenthesized_expression "(local_5c & 0x20)" ( (binary_expression "local_5c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = uVar15;" (assignment_expression "uVar16 = uVar15" identifier = identifier) ;) })) (expression_statement "param_2[2] = uVar16;" (assignment_expression "param_2[2] = uVar16" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[3] = uVar19;" (assignment_expression "param_2[3] = uVar19" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;" case number_literal : (expression_statement "param_2[2] = param_2[2] | local_5c;" (assignment_expression "param_2[2] = param_2[2] | local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "param_2[2] | local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) | identifier)) ;) (expression_statement "param_2[3] = param_2[3] | local_58;" (assignment_expression "param_2[3] = param_2[3] | local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "param_2[3] | local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) | identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;" case number_literal : (expression_statement "param_2[2] = param_2[2] | ~local_5c;" (assignment_expression "param_2[2] = param_2[2] | ~local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "param_2[2] | ~local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) | (unary_expression "~local_5c" ~ identifier))) ;) (expression_statement "param_2[3] = param_2[3] | ~local_58;" (assignment_expression "param_2[3] = param_2[3] | ~local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "param_2[3] | ~local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) | (unary_expression "~local_58" ~ identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;" case number_literal : (expression_statement "param_2[2] = param_2[2] ^ local_5c;" (assignment_expression "param_2[2] = param_2[2] ^ local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "param_2[2] ^ local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "param_2[3] = param_2[3] ^ local_58;" (assignment_expression "param_2[3] = param_2[3] ^ local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "param_2[3] ^ local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) ^ identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;" case number_literal : (expression_statement "param_2[2] = param_2[2] & local_5c;" (assignment_expression "param_2[2] = param_2[2] & local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "param_2[2] & local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) & identifier)) ;) (expression_statement "param_2[3] = param_2[3] & local_58;" (assignment_expression "param_2[3] = param_2[3] & local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "param_2[3] & local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) & identifier)) ;) (break_statement "break;" break ;)) (case_statement "default:\n      goto LAB_00022a33;" default : (goto_statement "goto LAB_00022a33;" goto statement_identifier ;)) (case_statement "case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;" case number_literal : (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[2] = uVar16 - local_5c;" (assignment_expression "param_2[2] = uVar16 - local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar16 - local_5c" identifier - identifier)) ;) (expression_statement "param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);" (assignment_expression "param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "(uVar19 - local_58) - (uint)(uVar16 < local_5c)" (parenthesized_expression "(uVar19 - local_58)" ( (binary_expression "uVar19 - local_58" identifier - identifier) )) - (call_expression "(uint)(uVar16 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_5c)" ( (binary_expression "uVar16 < local_5c" identifier < identifier) ))))) ;) (if_statement "if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }" if (parenthesized_expression "(uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c))" ( (binary_expression "uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)" (binary_expression "uVar19 < local_58" identifier < identifier) || (binary_expression "uVar19 - local_58 < (uint)(uVar16 < local_5c)" (binary_expression "uVar19 - local_58" identifier - identifier) < (call_expression "(uint)(uVar16 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_5c)" ( (binary_expression "uVar16 < local_5c" identifier < identifier) ))))) )) (compound_statement "{\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }" { (expression_statement "*(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd" (binary_expression "(*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02'" (parenthesized_expression "(*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1)" ( (binary_expression "*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1" (binary_expression "*(byte *)((int)param_2 + 0x11) >> 1 & 1" (binary_expression "*(byte *)((int)param_2 + 0x11) >> 1" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;" case number_literal : (expression_statement "uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);" (assignment_expression "uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58)" identifier = (call_expression "(uint)(param_2[2] == local_5c && param_2[3] == local_58)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2[2] == local_5c && param_2[3] == local_58)" ( (binary_expression "param_2[2] == local_5c && param_2[3] == local_58" (binary_expression "param_2[2] == local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) == identifier) && (binary_expression "param_2[3] == local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) == identifier)) )))) ;) (goto_statement "goto code_r0x00022ed0;" goto statement_identifier ;)) (case_statement "case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;" case number_literal : (expression_statement "uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);" (assignment_expression "uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58)" identifier = (call_expression "(uint)(param_2[2] != local_5c || param_2[3] != local_58)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2[2] != local_5c || param_2[3] != local_58)" ( (binary_expression "param_2[2] != local_5c || param_2[3] != local_58" (binary_expression "param_2[2] != local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) != identifier) || (binary_expression "param_2[3] != local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) != identifier)) )))) ;) (goto_statement "goto code_r0x00022ed0;" goto statement_identifier ;)) (case_statement "case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;" case number_literal : (expression_statement "iVar6 = param_2[3] - local_58;" (assignment_expression "iVar6 = param_2[3] - local_58" identifier = (binary_expression "param_2[3] - local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;" if (parenthesized_expression "((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0)" ( (binary_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (parenthesized_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c)))" ( (binary_expression "SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" (call_expression "SBORROW4(param_2[3],local_58)" identifier (argument_list "(param_2[3],local_58)" ( (subscript_expression "param_2[3]" identifier [ number_literal ]) , identifier ))) != (call_expression "SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" identifier (argument_list "(iVar6,(uint)((uint)param_2[2] < local_5c))" ( identifier , (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)param_2[2] < local_5c)" ( (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) < identifier) ))) )))) )) != (binary_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (cast_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - (uint)((uint)param_2[2] < local_5c))" ( (binary_expression "iVar6 - (uint)((uint)param_2[2] < local_5c)" identifier - (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)param_2[2] < local_5c)" ( (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) < identifier) )))) ))) < number_literal)) )) (goto_statement "goto code_r0x00022d74;" goto statement_identifier ;)) (labeled_statement "code_r0x00022d9e:\n      uVar16 = 0;" statement_identifier : (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;)) (goto_statement "goto code_r0x00022ed0;" goto statement_identifier ;)) (case_statement "case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;" case number_literal : (expression_statement "iVar6 = local_58 - param_2[3];" (assignment_expression "iVar6 = local_58 - param_2[3]" identifier = (binary_expression "local_58 - param_2[3]" identifier - (subscript_expression "param_2[3]" identifier [ number_literal ]))) ;) (if_statement "if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;" if (parenthesized_expression "((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0)" ( (binary_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (parenthesized_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2])))" ( (binary_expression "SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" (call_expression "SBORROW4(local_58,param_2[3])" identifier (argument_list "(local_58,param_2[3])" ( identifier , (subscript_expression "param_2[3]" identifier [ number_literal ]) ))) != (call_expression "SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" identifier (argument_list "(iVar6,(uint)(local_5c < (uint)param_2[2]))" ( identifier , (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_5c < (uint)param_2[2])" ( (binary_expression "local_5c < (uint)param_2[2]" identifier < (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ))) )))) )) != (binary_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (cast_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2]))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - (uint)(local_5c < (uint)param_2[2]))" ( (binary_expression "iVar6 - (uint)(local_5c < (uint)param_2[2])" identifier - (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_5c < (uint)param_2[2])" ( (binary_expression "local_5c < (uint)param_2[2]" identifier < (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) )))) ))) < number_literal)) )) (goto_statement "goto code_r0x00022d9e;" goto statement_identifier ;)) (goto_statement "goto code_r0x00022d74;" goto statement_identifier ;)) (case_statement "case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;" case number_literal : (expression_statement "iVar6 = param_2[3] - local_58;" (assignment_expression "iVar6 = param_2[3] - local_58" identifier = (binary_expression "param_2[3] - local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;" if (parenthesized_expression "((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0)" ( (binary_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (parenthesized_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c)))" ( (binary_expression "SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" (call_expression "SBORROW4(param_2[3],local_58)" identifier (argument_list "(param_2[3],local_58)" ( (subscript_expression "param_2[3]" identifier [ number_literal ]) , identifier ))) != (call_expression "SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" identifier (argument_list "(iVar6,(uint)((uint)param_2[2] < local_5c))" ( identifier , (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)param_2[2] < local_5c)" ( (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) < identifier) ))) )))) )) != (binary_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (cast_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - (uint)((uint)param_2[2] < local_5c))" ( (binary_expression "iVar6 - (uint)((uint)param_2[2] < local_5c)" identifier - (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)param_2[2] < local_5c)" ( (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) < identifier) )))) ))) < number_literal)) )) (goto_statement "goto code_r0x00022d9e;" goto statement_identifier ;)) (goto_statement "goto code_r0x00022d74;" goto statement_identifier ;)) (case_statement "case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;" case number_literal : (expression_statement "iVar6 = local_58 - param_2[3];" (assignment_expression "iVar6 = local_58 - param_2[3]" identifier = (binary_expression "local_58 - param_2[3]" identifier - (subscript_expression "param_2[3]" identifier [ number_literal ]))) ;) (if_statement "if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;" if (parenthesized_expression "((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0)" ( (binary_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (parenthesized_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2])))" ( (binary_expression "SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" (call_expression "SBORROW4(local_58,param_2[3])" identifier (argument_list "(local_58,param_2[3])" ( identifier , (subscript_expression "param_2[3]" identifier [ number_literal ]) ))) != (call_expression "SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" identifier (argument_list "(iVar6,(uint)(local_5c < (uint)param_2[2]))" ( identifier , (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_5c < (uint)param_2[2])" ( (binary_expression "local_5c < (uint)param_2[2]" identifier < (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ))) )))) )) == (binary_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (cast_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2]))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - (uint)(local_5c < (uint)param_2[2]))" ( (binary_expression "iVar6 - (uint)(local_5c < (uint)param_2[2])" identifier - (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_5c < (uint)param_2[2])" ( (binary_expression "local_5c < (uint)param_2[2]" identifier < (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) )))) ))) < number_literal)) )) (goto_statement "goto code_r0x00022d9e;" goto statement_identifier ;)) (labeled_statement "code_r0x00022d74:\n      uVar16 = 1;" statement_identifier : (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;)) (labeled_statement "code_r0x00022ed0:\n      param_2[2] = -uVar16;" statement_identifier : (expression_statement "param_2[2] = -uVar16;" (assignment_expression "param_2[2] = -uVar16" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (unary_expression "-uVar16" - identifier)) ;)) (expression_statement "param_2[3] = -(uint)(uVar16 != 0);" (assignment_expression "param_2[3] = -(uint)(uVar16 != 0)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (unary_expression "-(uint)(uVar16 != 0)" - (call_expression "(uint)(uVar16 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;" case number_literal : (expression_statement "iVar6 = param_2[3];" (assignment_expression "iVar6 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));" (assignment_expression "param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0))" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (call_expression "(uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0))" ( (binary_expression "(param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0)" (parenthesized_expression "(param_2[2] != 0 || iVar6 != 0)" ( (binary_expression "param_2[2] != 0 || iVar6 != 0" (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) != number_literal) || (binary_expression "iVar6 != 0" identifier != number_literal)) )) && (parenthesized_expression "(local_5c != 0 || local_58 != 0)" ( (binary_expression "local_5c != 0 || local_58 != 0" (binary_expression "local_5c != 0" identifier != number_literal) || (binary_expression "local_58 != 0" identifier != number_literal)) ))) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));" case number_literal : (expression_statement "iVar6 = param_2[3];" (assignment_expression "iVar6 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));" (assignment_expression "param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0))" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (call_expression "(uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0))" ( (binary_expression "(param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0)" (parenthesized_expression "(param_2[2] != 0 || local_5c != 0)" ( (binary_expression "param_2[2] != 0 || local_5c != 0" (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) != number_literal) || (binary_expression "local_5c != 0" identifier != number_literal)) )) || (parenthesized_expression "(iVar6 != 0 || local_58 != 0)" ( (binary_expression "iVar6 != 0 || local_58 != 0" (binary_expression "iVar6 != 0" identifier != number_literal) || (binary_expression "local_58 != 0" identifier != number_literal)) ))) )))) ;)) })) (labeled_statement "LAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }" statement_identifier : (if_statement "if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }" if (parenthesized_expression "(puVar8 != puVar2)" ( (binary_expression "puVar8 != puVar2" identifier != identifier) )) (compound_statement "{\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }" { (labeled_statement "LAB_00022450:\n      puVar18 = puVar3;" statement_identifier : (expression_statement "puVar18 = puVar3;" (assignment_expression "puVar18 = puVar3" identifier = identifier) ;)) (if_statement "if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" if (parenthesized_expression "((puVar2 == puVar14) || (puVar8 == puVar14))" ( (binary_expression "(puVar2 == puVar14) || (puVar8 == puVar14)" (parenthesized_expression "(puVar2 == puVar14)" ( (binary_expression "puVar2 == puVar14" identifier == identifier) )) || (parenthesized_expression "(puVar8 == puVar14)" ( (binary_expression "puVar8 == puVar14" identifier == identifier) ))) )) (compound_statement "{\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }" { (labeled_statement "LAB_000228f0:\n        local_80 = puVar18 + 0xc0;" statement_identifier : (expression_statement "local_80 = puVar18 + 0xc0;" (assignment_expression "local_80 = puVar18 + 0xc0" identifier = (binary_expression "puVar18 + 0xc0" identifier + number_literal)) ;)) }) (else_clause "else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" else (if_statement "if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" if (parenthesized_expression "((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               ))))" ( (binary_expression "(((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))" (parenthesized_expression "(((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2))" ( (binary_expression "((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)" (parenthesized_expression "((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8))" ( (binary_expression "(DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)" (parenthesized_expression "(DAT_00089720 != puVar2)" ( (binary_expression "DAT_00089720 != puVar2" identifier != identifier) )) && (parenthesized_expression "(local_80 = puVar8, DAT_00089720 != puVar8)" ( (comma_expression "local_80 = puVar8, DAT_00089720 != puVar8" (assignment_expression "local_80 = puVar8" identifier = identifier) , (binary_expression "DAT_00089720 != puVar8" identifier != identifier)) ))) )) && (parenthesized_expression "(local_80 = puVar2, DAT_000897ec != puVar2)" ( (comma_expression "local_80 = puVar2, DAT_000897ec != puVar2" (assignment_expression "local_80 = puVar2" identifier = identifier) , (binary_expression "DAT_000897ec != puVar2" identifier != identifier)) ))) )) && (parenthesized_expression "(((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))" ( (parenthesized_expression "((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               ))" ( (binary_expression "(local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )" (parenthesized_expression "(local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180))" ( (comma_expression "local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)" (assignment_expression "local_80 = puVar8" identifier = identifier) , (binary_expression "DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)" (binary_expression "DAT_000897ec != puVar8" identifier != identifier) && (parenthesized_expression "(local_80 = puVar2, puVar8 != puVar3 + 0x180)" ( (comma_expression "local_80 = puVar2, puVar8 != puVar3 + 0x180" (assignment_expression "local_80 = puVar2" identifier = identifier) , (binary_expression "puVar8 != puVar3 + 0x180" identifier != (binary_expression "puVar3 + 0x180" identifier + number_literal))) )))) )) && (parenthesized_expression "((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )" ( (parenthesized_expression "(local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))" ( (comma_expression "local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14)" (assignment_expression "local_80 = puVar8" identifier = identifier) , (binary_expression "puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14)" (binary_expression "puVar2 != puVar3 + 0x180" identifier != (binary_expression "puVar3 + 0x180" identifier + number_literal)) && (parenthesized_expression "(local_80 = puVar2, iVar11 != 0x14)" ( (comma_expression "local_80 = puVar2, iVar11 != 0x14" (assignment_expression "local_80 = puVar2" identifier = identifier) , (binary_expression "iVar11 != 0x14" identifier != number_literal)) )))) )) ))) )) ))) )) (compound_statement "{\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" { (expression_statement "uVar7 = dcgettext(0,"operation combines symbols in different segments",5);" (assignment_expression "uVar7 = dcgettext(0,"operation combines symbols in different segments",5)" identifier = (call_expression "dcgettext(0,"operation combines symbols in different segments",5)" identifier (argument_list "(0,"operation combines symbols in different segments",5)" ( number_literal , (string_literal ""operation combines symbols in different segments"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar7);" (call_expression "FUN_0002bd60(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) })))) }))) (labeled_statement "LAB_000224e0:\n    if (local_88 == 0) break;" statement_identifier : (if_statement "if (local_88 == 0) break;" if (parenthesized_expression "(local_88 == 0)" ( (binary_expression "local_88 == 0" identifier == number_literal) )) (break_statement "break;" break ;))) (expression_statement "puVar2 = local_80;" (assignment_expression "puVar2 = local_80" identifier = identifier) ;) (expression_statement "iVar11 = local_88;" (assignment_expression "iVar11 = local_88" identifier = identifier) ;) (expression_statement "cVar12 = (&DAT_00080220)[local_88];" (assignment_expression "cVar12 = (&DAT_00080220)[local_88]" identifier = (subscript_expression "(&DAT_00080220)[local_88]" (parenthesized_expression "(&DAT_00080220)" ( (pointer_expression "&DAT_00080220" & identifier) )) [ identifier ])) ;) })) (labeled_statement "LAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }" statement_identifier : (if_statement "if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }" if (parenthesized_expression "(*param_2 != 0)" ( (binary_expression "*param_2 != 0" (pointer_expression "*param_2" * identifier) != number_literal) )) (compound_statement "{\n    FUN_0003b860(*param_2);\n  }" { (expression_statement "FUN_0003b860(*param_2);" (call_expression "FUN_0003b860(*param_2)" identifier (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) ))) ;) }))) (if_statement "if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }" if (parenthesized_expression "(((char)param_1 == '\0') && (param_3 == 0))" ( (binary_expression "((char)param_1 == '\0') && (param_3 == 0)" (parenthesized_expression "((char)param_1 == '\0')" ( (binary_expression "(char)param_1 == '\0'" (cast_expression "(char)param_1" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    FUN_00021620(param_2);\n  }" { (expression_statement "FUN_00021620(param_2);" (call_expression "FUN_00021620(param_2)" identifier (argument_list "(param_2)" ( identifier ))) ;) })) (if_statement "if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }" if (parenthesized_expression "((char)param_2[4] == '\x02')" ( (binary_expression "(char)param_2[4] == '\x02'" (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }" { (expression_statement "local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;" (assignment_expression "local_80 = PTR__bfd_std_section_0007ffb0 + 0x180" identifier = (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal)) ;) })) (return_statement "return local_80;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nsegT expr(int rankarg,expressionS *resultP,expr_mode mode)\n\n{\n  int *piVar1;\n  uint *puVar2;\n  operator_rankT oVar3;\n  int iVar4;\n  longlong lVar5;\n  segT paVar6;\n  undefined *puVar7;\n  char cVar8;\n  byte bVar9;\n  symbolS *psVar10;\n  char *pcVar11;\n  segT paVar12;\n  char *format;\n  int iVar13;\n  fragS *frag2;\n  fragS *frag1;\n  bfd_boolean bVar14;\n  operatorT oVar15;\n  byte bVar16;\n  segT paVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined *puVar20;\n  uint uVar21;\n  bool bVar22;\n  offsetT oVar23;\n  valueT vVar24;\n  valueT vVar25;\n  operatorT local_94;\n  operatorT local_88;\n  segT local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  char ec;\n  offsetT frag_off;\n  expressionS right;\n  \n  if (rankarg < 0) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/expr.c",0x6dc,"expr");\n  }\n  if ((char)rankarg == '\0') {\n    dot_value = frag_now_fix();\n    dot_frag = frag_now;\n  }\n  local_80 = operand(resultP,mode);\n  if (*input_line_pointer == 0x20) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/expr.c",0x6e8,"expr");\n  }\n  uVar19 = (uint)(byte)*input_line_pointer;\n  if (is_end_of_line[uVar19] != '\0') goto LAB_00022622;\n  if ((lex_type[uVar19] & 2) == 0) {\nLAB_00022269:\n    pcVar11 = input_line_pointer;\n    if (uVar19 == 0x2d) {\nLAB_000227c0:\n      local_94 = op_encoding[uVar19];\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar19 < 0x2e) {\n      if (uVar19 == 0x26) {\n        local_74 = (input_line_pointer[1] == '&') + 1;\n        local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n      }\n      else {\n        if (uVar19 == 0x2b) goto LAB_000227c0;\n        if (uVar19 != 0x21) goto LAB_000225c3;\n        if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = O_bit_exclusive_or;\n      }\n    }\n    else if (uVar19 == 0x3d) {\n      if (input_line_pointer[1] != '=') goto LAB_00022622;\n      local_74 = 2;\n      local_94 = O_eq;\n    }\n    else if (uVar19 < 0x3e) {\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }\n  }\n  else {\n    cVar8 = get_symbol_name((char **)&right);\n    frag_off._0_4_ = (char *)CONCAT31(frag_off._1_3_,cVar8);\n    local_94 = i386_operator((char *)right.X_add_symbol,2,(char *)&frag_off);\n    psVar10 = right.X_add_symbol;\n    if (local_94 == O_absent) {\n      *input_line_pointer = (char)frag_off;\n      input_line_pointer = (char *)right.X_add_symbol;\n      goto LAB_00022269;\n    }\n    if ((local_94 != O_illegal) && (local_94 - O_uminus < 3)) {\n      pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n      as_bad(pcVar11,psVar10);\n      local_94 = O_illegal;\n    }\n    *input_line_pointer = (char)frag_off;\n    pcVar11 = input_line_pointer;\n    input_line_pointer = (char *)right.X_add_symbol;\n    local_74 = (int)pcVar11 - (int)right.X_add_symbol;\n    pcVar11 = input_line_pointer;\nLAB_00022706:\n    input_line_pointer = pcVar11;\n    if (local_94 == O_illegal) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar7 = PTR__bfd_std_section_0007ffb0;\n  paVar17 = (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0);\n  oVar3 = op_rank[local_94];\n  paVar6 = local_80;\n  oVar15 = local_94;\n  while (local_80 = paVar6, (char)rankarg < oVar3) {\n    right.X_md = 0;\n    input_line_pointer = input_line_pointer + local_74;\n    paVar12 = expr((int)oVar3,&right,mode);\n    if (right._16_1_ == '\x01') {\n      pcVar11 = (char *)dcgettext(0,"missing operand; zero assumed",5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n    }\n    bVar16 = *input_line_pointer;\n    uVar19 = (uint)bVar16;\n    if (bVar16 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x6fd,"expr");\n    }\n    pcVar11 = input_line_pointer;\n    if (oVar15 == O_index) {\n      if (bVar16 == 0x5d) {\n        uVar19 = (uint)(byte)input_line_pointer[1];\n        pcVar11 = input_line_pointer + 1;\n        if (input_line_pointer[1] == 0x20) {\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }\n        goto LAB_00022300;\n      }\n      as_bad("missing right bracket");\n      uVar19 = (uint)(byte)*input_line_pointer;\n      if (is_end_of_line[uVar19] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = O_illegal;\n    }\n    else {\nLAB_00022300:\n      input_line_pointer = pcVar11;\n      if (is_end_of_line[uVar19] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if ((lex_type[uVar19] & 2) == 0) {\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }\n      else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }\nLAB_00022388:\n      if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }\n    }\n    if ((int)oVar15 < 10) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x70e,"expr");\n    }\n    if (0x3d < (int)oVar15) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x712,"expr");\n    }\n    if (resultP->field_0x10 == '\x06') {\n      if (-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0))\n      {\n        pcVar11 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "left operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      resultP->field_0x10 = 2;\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->X_add_symbol = (symbolS *)0x0;\n      resultP->X_op_symbol = (symbolS *)0x0;\n    }\n    local_94._0_1_ = (undefined1)oVar15;\n    if (right._16_1_ == '\x06') {\n      if ((int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0)) {\n        pcVar11 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "right operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n      if (oVar15 != O_add) {\n        cVar8 = resultP->field_0x10;\n        if (oVar15 != O_subtract) goto LAB_000223e8;\n        if (cVar8 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        *(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n        bVar9 = resultP->field_0x11;\n        *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))\n        goto LAB_0002301d;\nLAB_000229b7:\n        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      if (resultP->field_0x10 != '\x05') {\n        bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;\nLAB_00023225:\n        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (oVar15 == O_add) {\n      if (right._16_1_ == '\x02') {\n        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_00023225;\nLAB_0002301d:\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar8 = resultP->field_0x10;\n      if (cVar8 != '\x02') goto LAB_000223f1;\n      if (right._16_1_ == '\x05') goto _L446;\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      bVar16 = resultP->field_0x11;\n      resultP->field_0x10 = right._16_1_;\n      resultP->X_add_symbol = right.X_add_symbol;\n      resultP->X_op_symbol = right.X_op_symbol;\n      uVar21 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number);\n      *(uint *)&resultP->X_add_number = uVar21 + (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n      bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n      if (uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)) {\n        bVar9 = bVar9 ^ 1;\n      }\n      resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      local_80 = paVar12;\n      goto LAB_000224e0;\n    }\n    cVar8 = resultP->field_0x10;\n    if (oVar15 == O_subtract) {\n      if (right._16_1_ == '\x03') {\n        if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;\n        psVar10 = resultP->X_add_symbol;\n        if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))) {\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }\n        else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar8 = resultP->field_0x10;\n      }\n      if (right._16_1_ == '\x02') {\n        if (cVar8 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar21 = right.X_add_number._4_4_;\n    uVar19 = (uint)right.X_add_number;\n    if (cVar8 != '\x02') {\nLAB_000223f1:\n      if ((cVar8 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;\n      if (1 < oVar15 - O_add) {\n        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;\n        resultP->field_0x10 = (undefined1)local_94;\n        resultP->X_op_symbol = right.X_add_symbol;\n        goto LAB_00022442;\n      }\n      resultP->field_0x10 = (undefined1)local_94;\n      resultP->X_op_symbol = right.X_add_symbol;\n      if (oVar15 == O_add) {\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_000229b7;\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n      bVar16 = resultP->field_0x11;\n      bVar9 = (right._17_1_ ^ bVar16) >> 1 & 1;\n      if (uVar21 < right.X_add_number._4_4_ ||\n          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)) {\n        resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';\n      }\n      else {\n        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      }\n      puVar20 = PTR__bfd_std_section_0007ffb0;\n      if (paVar12 != paVar6) goto LAB_00022450;\n      if (paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)) {\nLAB_00023318:\n        local_80 = (segT)(puVar20 + 0x180);\n        goto LAB_000224e0;\n      }\n      if (paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n        if ((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (right._16_1_ != '\x02') {\n_L446:\nLAB_00022406:\n      psVar10 = make_expr_symbol(resultP);\n      resultP->X_add_symbol = psVar10;\n      psVar10 = make_expr_symbol(&right);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      resultP->X_op_symbol = psVar10;\n      resultP->field_0x10 = (undefined1)local_94;\n      bVar16 = resultP->field_0x11;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->field_0x11 = bVar16 & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = (uint)right.X_add_number;\n    local_58 = right.X_add_number._4_4_;\n    if (right.X_add_number._4_4_ == 0 && (uint)right.X_add_number == 0) {\n      if (oVar15 - O_divide < 2) {\n        pcVar11 = (char *)dcgettext(0,"division by zero",5);\n        as_warn(pcVar11);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&\n            (oVar15 - O_left_shift < 2)) {\n      pcVar11 = (char *)dcgettext(0,"shift count",5);\n      as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(oVar15) {\n    case O_multiply:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      oVar23 = resultP->X_add_number;\n      lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number;\n      *(int *)&resultP->X_add_number = (int)lVar5;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58;\n      break;\n    case O_divide:\n      oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_modulus:\n      oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_left_shift:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 << ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar19;\n      *(uint *)&resultP->X_add_number = uVar21;\n      break;\n    case O_right_shift:\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      uVar18 = uVar19 >> ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)&resultP->X_add_number = uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n      break;\n    case O_bit_inclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | local_58;\n      break;\n    case O_bit_or_not:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | ~local_58;\n      break;\n    case O_bit_exclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 ^ local_58;\n      break;\n    case O_bit_and:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 & local_58;\n      break;\n    default:\n      goto _L446;\n    case O_subtract:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - local_5c;\n      *(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c);\n      if (uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)) {\n        resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;\n      }\n      break;\n    case O_eq:\n      uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58);\n      goto LAB_00022ed0;\n    case O_ne:\n      uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58);\n      goto LAB_00022ed0;\n    case O_lt:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d74;\nLAB_00022d9e:\n      uVar19 = 0;\n      goto LAB_00022ed0;\n    case O_le:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_ge:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_gt:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\nLAB_00022d74:\n      uVar19 = 1;\nLAB_00022ed0:\n      *(uint *)&resultP->X_add_number = -uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0);\n      break;\n    case O_logical_and:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case O_logical_or:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (paVar12 != paVar6) {\nLAB_00022450:\n      puVar20 = puVar7;\n      if ((paVar6 == paVar17) || (paVar12 == paVar17)) {\nLAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);\n      }\n      else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == O_illegal) break;\n    paVar6 = local_80;\n    oVar15 = local_88;\n    oVar3 = op_rank[local_88];\n  }\nLAB_00022622:\n  if (resultP->X_add_symbol != (symbolS *)0x0) {\n    symbol_mark_used(resultP->X_add_symbol);\n  }\n  if (((char)rankarg == '\0') && (mode == expr_evaluate)) {\n    resolve_expression(resultP);\n  }\n  if (resultP->field_0x10 == '\x02') {\n    local_80 = (segT)(PTR__bfd_std_section_0007ffb0 + 0x180);\n  }\n  return local_80;\n}\n\n" comment (function_definition "segT expr(int rankarg,expressionS *resultP,expr_mode mode)\n\n{\n  int *piVar1;\n  uint *puVar2;\n  operator_rankT oVar3;\n  int iVar4;\n  longlong lVar5;\n  segT paVar6;\n  undefined *puVar7;\n  char cVar8;\n  byte bVar9;\n  symbolS *psVar10;\n  char *pcVar11;\n  segT paVar12;\n  char *format;\n  int iVar13;\n  fragS *frag2;\n  fragS *frag1;\n  bfd_boolean bVar14;\n  operatorT oVar15;\n  byte bVar16;\n  segT paVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined *puVar20;\n  uint uVar21;\n  bool bVar22;\n  offsetT oVar23;\n  valueT vVar24;\n  valueT vVar25;\n  operatorT local_94;\n  operatorT local_88;\n  segT local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  char ec;\n  offsetT frag_off;\n  expressionS right;\n  \n  if (rankarg < 0) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/expr.c",0x6dc,"expr");\n  }\n  if ((char)rankarg == '\0') {\n    dot_value = frag_now_fix();\n    dot_frag = frag_now;\n  }\n  local_80 = operand(resultP,mode);\n  if (*input_line_pointer == 0x20) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/expr.c",0x6e8,"expr");\n  }\n  uVar19 = (uint)(byte)*input_line_pointer;\n  if (is_end_of_line[uVar19] != '\0') goto LAB_00022622;\n  if ((lex_type[uVar19] & 2) == 0) {\nLAB_00022269:\n    pcVar11 = input_line_pointer;\n    if (uVar19 == 0x2d) {\nLAB_000227c0:\n      local_94 = op_encoding[uVar19];\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar19 < 0x2e) {\n      if (uVar19 == 0x26) {\n        local_74 = (input_line_pointer[1] == '&') + 1;\n        local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n      }\n      else {\n        if (uVar19 == 0x2b) goto LAB_000227c0;\n        if (uVar19 != 0x21) goto LAB_000225c3;\n        if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = O_bit_exclusive_or;\n      }\n    }\n    else if (uVar19 == 0x3d) {\n      if (input_line_pointer[1] != '=') goto LAB_00022622;\n      local_74 = 2;\n      local_94 = O_eq;\n    }\n    else if (uVar19 < 0x3e) {\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }\n  }\n  else {\n    cVar8 = get_symbol_name((char **)&right);\n    frag_off._0_4_ = (char *)CONCAT31(frag_off._1_3_,cVar8);\n    local_94 = i386_operator((char *)right.X_add_symbol,2,(char *)&frag_off);\n    psVar10 = right.X_add_symbol;\n    if (local_94 == O_absent) {\n      *input_line_pointer = (char)frag_off;\n      input_line_pointer = (char *)right.X_add_symbol;\n      goto LAB_00022269;\n    }\n    if ((local_94 != O_illegal) && (local_94 - O_uminus < 3)) {\n      pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n      as_bad(pcVar11,psVar10);\n      local_94 = O_illegal;\n    }\n    *input_line_pointer = (char)frag_off;\n    pcVar11 = input_line_pointer;\n    input_line_pointer = (char *)right.X_add_symbol;\n    local_74 = (int)pcVar11 - (int)right.X_add_symbol;\n    pcVar11 = input_line_pointer;\nLAB_00022706:\n    input_line_pointer = pcVar11;\n    if (local_94 == O_illegal) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar7 = PTR__bfd_std_section_0007ffb0;\n  paVar17 = (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0);\n  oVar3 = op_rank[local_94];\n  paVar6 = local_80;\n  oVar15 = local_94;\n  while (local_80 = paVar6, (char)rankarg < oVar3) {\n    right.X_md = 0;\n    input_line_pointer = input_line_pointer + local_74;\n    paVar12 = expr((int)oVar3,&right,mode);\n    if (right._16_1_ == '\x01') {\n      pcVar11 = (char *)dcgettext(0,"missing operand; zero assumed",5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n    }\n    bVar16 = *input_line_pointer;\n    uVar19 = (uint)bVar16;\n    if (bVar16 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x6fd,"expr");\n    }\n    pcVar11 = input_line_pointer;\n    if (oVar15 == O_index) {\n      if (bVar16 == 0x5d) {\n        uVar19 = (uint)(byte)input_line_pointer[1];\n        pcVar11 = input_line_pointer + 1;\n        if (input_line_pointer[1] == 0x20) {\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }\n        goto LAB_00022300;\n      }\n      as_bad("missing right bracket");\n      uVar19 = (uint)(byte)*input_line_pointer;\n      if (is_end_of_line[uVar19] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = O_illegal;\n    }\n    else {\nLAB_00022300:\n      input_line_pointer = pcVar11;\n      if (is_end_of_line[uVar19] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if ((lex_type[uVar19] & 2) == 0) {\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }\n      else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }\nLAB_00022388:\n      if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }\n    }\n    if ((int)oVar15 < 10) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x70e,"expr");\n    }\n    if (0x3d < (int)oVar15) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x712,"expr");\n    }\n    if (resultP->field_0x10 == '\x06') {\n      if (-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0))\n      {\n        pcVar11 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "left operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      resultP->field_0x10 = 2;\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->X_add_symbol = (symbolS *)0x0;\n      resultP->X_op_symbol = (symbolS *)0x0;\n    }\n    local_94._0_1_ = (undefined1)oVar15;\n    if (right._16_1_ == '\x06') {\n      if ((int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0)) {\n        pcVar11 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "right operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n      if (oVar15 != O_add) {\n        cVar8 = resultP->field_0x10;\n        if (oVar15 != O_subtract) goto LAB_000223e8;\n        if (cVar8 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        *(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n        bVar9 = resultP->field_0x11;\n        *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))\n        goto LAB_0002301d;\nLAB_000229b7:\n        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      if (resultP->field_0x10 != '\x05') {\n        bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;\nLAB_00023225:\n        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (oVar15 == O_add) {\n      if (right._16_1_ == '\x02') {\n        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_00023225;\nLAB_0002301d:\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar8 = resultP->field_0x10;\n      if (cVar8 != '\x02') goto LAB_000223f1;\n      if (right._16_1_ == '\x05') goto _L446;\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      bVar16 = resultP->field_0x11;\n      resultP->field_0x10 = right._16_1_;\n      resultP->X_add_symbol = right.X_add_symbol;\n      resultP->X_op_symbol = right.X_op_symbol;\n      uVar21 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number);\n      *(uint *)&resultP->X_add_number = uVar21 + (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n      bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n      if (uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)) {\n        bVar9 = bVar9 ^ 1;\n      }\n      resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      local_80 = paVar12;\n      goto LAB_000224e0;\n    }\n    cVar8 = resultP->field_0x10;\n    if (oVar15 == O_subtract) {\n      if (right._16_1_ == '\x03') {\n        if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;\n        psVar10 = resultP->X_add_symbol;\n        if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))) {\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }\n        else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar8 = resultP->field_0x10;\n      }\n      if (right._16_1_ == '\x02') {\n        if (cVar8 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar21 = right.X_add_number._4_4_;\n    uVar19 = (uint)right.X_add_number;\n    if (cVar8 != '\x02') {\nLAB_000223f1:\n      if ((cVar8 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;\n      if (1 < oVar15 - O_add) {\n        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;\n        resultP->field_0x10 = (undefined1)local_94;\n        resultP->X_op_symbol = right.X_add_symbol;\n        goto LAB_00022442;\n      }\n      resultP->field_0x10 = (undefined1)local_94;\n      resultP->X_op_symbol = right.X_add_symbol;\n      if (oVar15 == O_add) {\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_000229b7;\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n      bVar16 = resultP->field_0x11;\n      bVar9 = (right._17_1_ ^ bVar16) >> 1 & 1;\n      if (uVar21 < right.X_add_number._4_4_ ||\n          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)) {\n        resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';\n      }\n      else {\n        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      }\n      puVar20 = PTR__bfd_std_section_0007ffb0;\n      if (paVar12 != paVar6) goto LAB_00022450;\n      if (paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)) {\nLAB_00023318:\n        local_80 = (segT)(puVar20 + 0x180);\n        goto LAB_000224e0;\n      }\n      if (paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n        if ((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (right._16_1_ != '\x02') {\n_L446:\nLAB_00022406:\n      psVar10 = make_expr_symbol(resultP);\n      resultP->X_add_symbol = psVar10;\n      psVar10 = make_expr_symbol(&right);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      resultP->X_op_symbol = psVar10;\n      resultP->field_0x10 = (undefined1)local_94;\n      bVar16 = resultP->field_0x11;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->field_0x11 = bVar16 & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = (uint)right.X_add_number;\n    local_58 = right.X_add_number._4_4_;\n    if (right.X_add_number._4_4_ == 0 && (uint)right.X_add_number == 0) {\n      if (oVar15 - O_divide < 2) {\n        pcVar11 = (char *)dcgettext(0,"division by zero",5);\n        as_warn(pcVar11);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&\n            (oVar15 - O_left_shift < 2)) {\n      pcVar11 = (char *)dcgettext(0,"shift count",5);\n      as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(oVar15) {\n    case O_multiply:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      oVar23 = resultP->X_add_number;\n      lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number;\n      *(int *)&resultP->X_add_number = (int)lVar5;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58;\n      break;\n    case O_divide:\n      oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_modulus:\n      oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_left_shift:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 << ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar19;\n      *(uint *)&resultP->X_add_number = uVar21;\n      break;\n    case O_right_shift:\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      uVar18 = uVar19 >> ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)&resultP->X_add_number = uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n      break;\n    case O_bit_inclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | local_58;\n      break;\n    case O_bit_or_not:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | ~local_58;\n      break;\n    case O_bit_exclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 ^ local_58;\n      break;\n    case O_bit_and:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 & local_58;\n      break;\n    default:\n      goto _L446;\n    case O_subtract:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - local_5c;\n      *(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c);\n      if (uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)) {\n        resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;\n      }\n      break;\n    case O_eq:\n      uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58);\n      goto LAB_00022ed0;\n    case O_ne:\n      uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58);\n      goto LAB_00022ed0;\n    case O_lt:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d74;\nLAB_00022d9e:\n      uVar19 = 0;\n      goto LAB_00022ed0;\n    case O_le:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_ge:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_gt:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\nLAB_00022d74:\n      uVar19 = 1;\nLAB_00022ed0:\n      *(uint *)&resultP->X_add_number = -uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0);\n      break;\n    case O_logical_and:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case O_logical_or:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (paVar12 != paVar6) {\nLAB_00022450:\n      puVar20 = puVar7;\n      if ((paVar6 == paVar17) || (paVar12 == paVar17)) {\nLAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);\n      }\n      else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == O_illegal) break;\n    paVar6 = local_80;\n    oVar15 = local_88;\n    oVar3 = op_rank[local_88];\n  }\nLAB_00022622:\n  if (resultP->X_add_symbol != (symbolS *)0x0) {\n    symbol_mark_used(resultP->X_add_symbol);\n  }\n  if (((char)rankarg == '\0') && (mode == expr_evaluate)) {\n    resolve_expression(resultP);\n  }\n  if (resultP->field_0x10 == '\x02') {\n    local_80 = (segT)(PTR__bfd_std_section_0007ffb0 + 0x180);\n  }\n  return local_80;\n}" type_identifier (function_declarator "expr(int rankarg,expressionS *resultP,expr_mode mode)" identifier (parameter_list "(int rankarg,expressionS *resultP,expr_mode mode)" ( (parameter_declaration "int rankarg" primitive_type identifier) , (parameter_declaration "expressionS *resultP" type_identifier (pointer_declarator "*resultP" * identifier)) , (parameter_declaration "expr_mode mode" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  uint *puVar2;\n  operator_rankT oVar3;\n  int iVar4;\n  longlong lVar5;\n  segT paVar6;\n  undefined *puVar7;\n  char cVar8;\n  byte bVar9;\n  symbolS *psVar10;\n  char *pcVar11;\n  segT paVar12;\n  char *format;\n  int iVar13;\n  fragS *frag2;\n  fragS *frag1;\n  bfd_boolean bVar14;\n  operatorT oVar15;\n  byte bVar16;\n  segT paVar17;\n  uint uVar18;\n  uint uVar19;\n  undefined *puVar20;\n  uint uVar21;\n  bool bVar22;\n  offsetT oVar23;\n  valueT vVar24;\n  valueT vVar25;\n  operatorT local_94;\n  operatorT local_88;\n  segT local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  char ec;\n  offsetT frag_off;\n  expressionS right;\n  \n  if (rankarg < 0) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/expr.c",0x6dc,"expr");\n  }\n  if ((char)rankarg == '\0') {\n    dot_value = frag_now_fix();\n    dot_frag = frag_now;\n  }\n  local_80 = operand(resultP,mode);\n  if (*input_line_pointer == 0x20) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/expr.c",0x6e8,"expr");\n  }\n  uVar19 = (uint)(byte)*input_line_pointer;\n  if (is_end_of_line[uVar19] != '\0') goto LAB_00022622;\n  if ((lex_type[uVar19] & 2) == 0) {\nLAB_00022269:\n    pcVar11 = input_line_pointer;\n    if (uVar19 == 0x2d) {\nLAB_000227c0:\n      local_94 = op_encoding[uVar19];\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar19 < 0x2e) {\n      if (uVar19 == 0x26) {\n        local_74 = (input_line_pointer[1] == '&') + 1;\n        local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n      }\n      else {\n        if (uVar19 == 0x2b) goto LAB_000227c0;\n        if (uVar19 != 0x21) goto LAB_000225c3;\n        if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = O_bit_exclusive_or;\n      }\n    }\n    else if (uVar19 == 0x3d) {\n      if (input_line_pointer[1] != '=') goto LAB_00022622;\n      local_74 = 2;\n      local_94 = O_eq;\n    }\n    else if (uVar19 < 0x3e) {\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }\n  }\n  else {\n    cVar8 = get_symbol_name((char **)&right);\n    frag_off._0_4_ = (char *)CONCAT31(frag_off._1_3_,cVar8);\n    local_94 = i386_operator((char *)right.X_add_symbol,2,(char *)&frag_off);\n    psVar10 = right.X_add_symbol;\n    if (local_94 == O_absent) {\n      *input_line_pointer = (char)frag_off;\n      input_line_pointer = (char *)right.X_add_symbol;\n      goto LAB_00022269;\n    }\n    if ((local_94 != O_illegal) && (local_94 - O_uminus < 3)) {\n      pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n      as_bad(pcVar11,psVar10);\n      local_94 = O_illegal;\n    }\n    *input_line_pointer = (char)frag_off;\n    pcVar11 = input_line_pointer;\n    input_line_pointer = (char *)right.X_add_symbol;\n    local_74 = (int)pcVar11 - (int)right.X_add_symbol;\n    pcVar11 = input_line_pointer;\nLAB_00022706:\n    input_line_pointer = pcVar11;\n    if (local_94 == O_illegal) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar7 = PTR__bfd_std_section_0007ffb0;\n  paVar17 = (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0);\n  oVar3 = op_rank[local_94];\n  paVar6 = local_80;\n  oVar15 = local_94;\n  while (local_80 = paVar6, (char)rankarg < oVar3) {\n    right.X_md = 0;\n    input_line_pointer = input_line_pointer + local_74;\n    paVar12 = expr((int)oVar3,&right,mode);\n    if (right._16_1_ == '\x01') {\n      pcVar11 = (char *)dcgettext(0,"missing operand; zero assumed",5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n    }\n    bVar16 = *input_line_pointer;\n    uVar19 = (uint)bVar16;\n    if (bVar16 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x6fd,"expr");\n    }\n    pcVar11 = input_line_pointer;\n    if (oVar15 == O_index) {\n      if (bVar16 == 0x5d) {\n        uVar19 = (uint)(byte)input_line_pointer[1];\n        pcVar11 = input_line_pointer + 1;\n        if (input_line_pointer[1] == 0x20) {\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }\n        goto LAB_00022300;\n      }\n      as_bad("missing right bracket");\n      uVar19 = (uint)(byte)*input_line_pointer;\n      if (is_end_of_line[uVar19] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = O_illegal;\n    }\n    else {\nLAB_00022300:\n      input_line_pointer = pcVar11;\n      if (is_end_of_line[uVar19] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if ((lex_type[uVar19] & 2) == 0) {\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }\n      else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }\nLAB_00022388:\n      if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }\n    }\n    if ((int)oVar15 < 10) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x70e,"expr");\n    }\n    if (0x3d < (int)oVar15) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x712,"expr");\n    }\n    if (resultP->field_0x10 == '\x06') {\n      if (-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0))\n      {\n        pcVar11 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "left operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      resultP->field_0x10 = 2;\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->X_add_symbol = (symbolS *)0x0;\n      resultP->X_op_symbol = (symbolS *)0x0;\n    }\n    local_94._0_1_ = (undefined1)oVar15;\n    if (right._16_1_ == '\x06') {\n      if ((int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0)) {\n        pcVar11 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "right operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n      if (oVar15 != O_add) {\n        cVar8 = resultP->field_0x10;\n        if (oVar15 != O_subtract) goto LAB_000223e8;\n        if (cVar8 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        *(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n        bVar9 = resultP->field_0x11;\n        *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))\n        goto LAB_0002301d;\nLAB_000229b7:\n        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      if (resultP->field_0x10 != '\x05') {\n        bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;\nLAB_00023225:\n        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (oVar15 == O_add) {\n      if (right._16_1_ == '\x02') {\n        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_00023225;\nLAB_0002301d:\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar8 = resultP->field_0x10;\n      if (cVar8 != '\x02') goto LAB_000223f1;\n      if (right._16_1_ == '\x05') goto _L446;\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      bVar16 = resultP->field_0x11;\n      resultP->field_0x10 = right._16_1_;\n      resultP->X_add_symbol = right.X_add_symbol;\n      resultP->X_op_symbol = right.X_op_symbol;\n      uVar21 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number);\n      *(uint *)&resultP->X_add_number = uVar21 + (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n      bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n      if (uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)) {\n        bVar9 = bVar9 ^ 1;\n      }\n      resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      local_80 = paVar12;\n      goto LAB_000224e0;\n    }\n    cVar8 = resultP->field_0x10;\n    if (oVar15 == O_subtract) {\n      if (right._16_1_ == '\x03') {\n        if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;\n        psVar10 = resultP->X_add_symbol;\n        if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))) {\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }\n        else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar8 = resultP->field_0x10;\n      }\n      if (right._16_1_ == '\x02') {\n        if (cVar8 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar21 = right.X_add_number._4_4_;\n    uVar19 = (uint)right.X_add_number;\n    if (cVar8 != '\x02') {\nLAB_000223f1:\n      if ((cVar8 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;\n      if (1 < oVar15 - O_add) {\n        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;\n        resultP->field_0x10 = (undefined1)local_94;\n        resultP->X_op_symbol = right.X_add_symbol;\n        goto LAB_00022442;\n      }\n      resultP->field_0x10 = (undefined1)local_94;\n      resultP->X_op_symbol = right.X_add_symbol;\n      if (oVar15 == O_add) {\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_000229b7;\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n      bVar16 = resultP->field_0x11;\n      bVar9 = (right._17_1_ ^ bVar16) >> 1 & 1;\n      if (uVar21 < right.X_add_number._4_4_ ||\n          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)) {\n        resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';\n      }\n      else {\n        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      }\n      puVar20 = PTR__bfd_std_section_0007ffb0;\n      if (paVar12 != paVar6) goto LAB_00022450;\n      if (paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)) {\nLAB_00023318:\n        local_80 = (segT)(puVar20 + 0x180);\n        goto LAB_000224e0;\n      }\n      if (paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n        if ((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (right._16_1_ != '\x02') {\n_L446:\nLAB_00022406:\n      psVar10 = make_expr_symbol(resultP);\n      resultP->X_add_symbol = psVar10;\n      psVar10 = make_expr_symbol(&right);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      resultP->X_op_symbol = psVar10;\n      resultP->field_0x10 = (undefined1)local_94;\n      bVar16 = resultP->field_0x11;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->field_0x11 = bVar16 & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = (uint)right.X_add_number;\n    local_58 = right.X_add_number._4_4_;\n    if (right.X_add_number._4_4_ == 0 && (uint)right.X_add_number == 0) {\n      if (oVar15 - O_divide < 2) {\n        pcVar11 = (char *)dcgettext(0,"division by zero",5);\n        as_warn(pcVar11);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&\n            (oVar15 - O_left_shift < 2)) {\n      pcVar11 = (char *)dcgettext(0,"shift count",5);\n      as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(oVar15) {\n    case O_multiply:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      oVar23 = resultP->X_add_number;\n      lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number;\n      *(int *)&resultP->X_add_number = (int)lVar5;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58;\n      break;\n    case O_divide:\n      oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_modulus:\n      oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_left_shift:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 << ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar19;\n      *(uint *)&resultP->X_add_number = uVar21;\n      break;\n    case O_right_shift:\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      uVar18 = uVar19 >> ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)&resultP->X_add_number = uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n      break;\n    case O_bit_inclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | local_58;\n      break;\n    case O_bit_or_not:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | ~local_58;\n      break;\n    case O_bit_exclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 ^ local_58;\n      break;\n    case O_bit_and:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 & local_58;\n      break;\n    default:\n      goto _L446;\n    case O_subtract:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - local_5c;\n      *(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c);\n      if (uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)) {\n        resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;\n      }\n      break;\n    case O_eq:\n      uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58);\n      goto LAB_00022ed0;\n    case O_ne:\n      uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58);\n      goto LAB_00022ed0;\n    case O_lt:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d74;\nLAB_00022d9e:\n      uVar19 = 0;\n      goto LAB_00022ed0;\n    case O_le:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_ge:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_gt:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\nLAB_00022d74:\n      uVar19 = 1;\nLAB_00022ed0:\n      *(uint *)&resultP->X_add_number = -uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0);\n      break;\n    case O_logical_and:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case O_logical_or:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (paVar12 != paVar6) {\nLAB_00022450:\n      puVar20 = puVar7;\n      if ((paVar6 == paVar17) || (paVar12 == paVar17)) {\nLAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);\n      }\n      else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == O_illegal) break;\n    paVar6 = local_80;\n    oVar15 = local_88;\n    oVar3 = op_rank[local_88];\n  }\nLAB_00022622:\n  if (resultP->X_add_symbol != (symbolS *)0x0) {\n    symbol_mark_used(resultP->X_add_symbol);\n  }\n  if (((char)rankarg == '\0') && (mode == expr_evaluate)) {\n    resolve_expression(resultP);\n  }\n  if (resultP->field_0x10 == '\x02') {\n    local_80 = (segT)(PTR__bfd_std_section_0007ffb0 + 0x180);\n  }\n  return local_80;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "operator_rankT oVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "longlong lVar5;" type_identifier identifier ;) (declaration "segT paVar6;" type_identifier identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "symbolS *psVar10;" type_identifier (pointer_declarator "*psVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "segT paVar12;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "fragS *frag2;" type_identifier (pointer_declarator "*frag2" * identifier) ;) (declaration "fragS *frag1;" type_identifier (pointer_declarator "*frag1" * identifier) ;) (declaration "bfd_boolean bVar14;" type_identifier identifier ;) (declaration "operatorT oVar15;" type_identifier identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "segT paVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "offsetT oVar23;" type_identifier identifier ;) (declaration "valueT vVar24;" type_identifier identifier ;) (declaration "valueT vVar25;" type_identifier identifier ;) (declaration "operatorT local_94;" type_identifier identifier ;) (declaration "operatorT local_88;" type_identifier identifier ;) (declaration "segT local_80;" type_identifier identifier ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "char ec;" primitive_type identifier ;) (declaration "offsetT frag_off;" type_identifier identifier ;) (declaration "expressionS right;" type_identifier identifier ;) (if_statement "if (rankarg < 0) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/expr.c",0x6dc,"expr");\n  }" if (parenthesized_expression "(rankarg < 0)" ( (binary_expression "rankarg < 0" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/expr.c",0x6dc,"expr");\n  }" { comment (expression_statement "as_abort("../../gas/expr.c",0x6dc,"expr");" (call_expression "as_abort("../../gas/expr.c",0x6dc,"expr")" identifier (argument_list "("../../gas/expr.c",0x6dc,"expr")" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (string_literal ""expr"" " string_content ") ))) ;) })) (if_statement "if ((char)rankarg == '\0') {\n    dot_value = frag_now_fix();\n    dot_frag = frag_now;\n  }" if (parenthesized_expression "((char)rankarg == '\0')" ( (binary_expression "(char)rankarg == '\0'" (cast_expression "(char)rankarg" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    dot_value = frag_now_fix();\n    dot_frag = frag_now;\n  }" { (expression_statement "dot_value = frag_now_fix();" (assignment_expression "dot_value = frag_now_fix()" identifier = (call_expression "frag_now_fix()" identifier (argument_list "()" ( )))) ;) (expression_statement "dot_frag = frag_now;" (assignment_expression "dot_frag = frag_now" identifier = identifier) ;) })) (expression_statement "local_80 = operand(resultP,mode);" (assignment_expression "local_80 = operand(resultP,mode)" identifier = (call_expression "operand(resultP,mode)" identifier (argument_list "(resultP,mode)" ( identifier , identifier )))) ;) (if_statement "if (*input_line_pointer == 0x20) {\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/expr.c",0x6e8,"expr");\n  }" if (parenthesized_expression "(*input_line_pointer == 0x20)" ( (binary_expression "*input_line_pointer == 0x20" (pointer_expression "*input_line_pointer" * identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    as_abort("../../gas/expr.c",0x6e8,"expr");\n  }" { comment (expression_statement "as_abort("../../gas/expr.c",0x6e8,"expr");" (call_expression "as_abort("../../gas/expr.c",0x6e8,"expr")" identifier (argument_list "("../../gas/expr.c",0x6e8,"expr")" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (string_literal ""expr"" " string_content ") ))) ;) })) (expression_statement "uVar19 = (uint)(byte)*input_line_pointer;" (assignment_expression "uVar19 = (uint)(byte)*input_line_pointer" identifier = (binary_expression "(uint)(byte)*input_line_pointer" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if (is_end_of_line[uVar19] != '\0') goto LAB_00022622;" if (parenthesized_expression "(is_end_of_line[uVar19] != '\0')" ( (binary_expression "is_end_of_line[uVar19] != '\0'" (subscript_expression "is_end_of_line[uVar19]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022622;" goto statement_identifier ;)) (if_statement "if ((lex_type[uVar19] & 2) == 0) {\nLAB_00022269:\n    pcVar11 = input_line_pointer;\n    if (uVar19 == 0x2d) {\nLAB_000227c0:\n      local_94 = op_encoding[uVar19];\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar19 < 0x2e) {\n      if (uVar19 == 0x26) {\n        local_74 = (input_line_pointer[1] == '&') + 1;\n        local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n      }\n      else {\n        if (uVar19 == 0x2b) goto LAB_000227c0;\n        if (uVar19 != 0x21) goto LAB_000225c3;\n        if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = O_bit_exclusive_or;\n      }\n    }\n    else if (uVar19 == 0x3d) {\n      if (input_line_pointer[1] != '=') goto LAB_00022622;\n      local_74 = 2;\n      local_94 = O_eq;\n    }\n    else if (uVar19 < 0x3e) {\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }\n  }\n  else {\n    cVar8 = get_symbol_name((char **)&right);\n    frag_off._0_4_ = (char *)CONCAT31(frag_off._1_3_,cVar8);\n    local_94 = i386_operator((char *)right.X_add_symbol,2,(char *)&frag_off);\n    psVar10 = right.X_add_symbol;\n    if (local_94 == O_absent) {\n      *input_line_pointer = (char)frag_off;\n      input_line_pointer = (char *)right.X_add_symbol;\n      goto LAB_00022269;\n    }\n    if ((local_94 != O_illegal) && (local_94 - O_uminus < 3)) {\n      pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n      as_bad(pcVar11,psVar10);\n      local_94 = O_illegal;\n    }\n    *input_line_pointer = (char)frag_off;\n    pcVar11 = input_line_pointer;\n    input_line_pointer = (char *)right.X_add_symbol;\n    local_74 = (int)pcVar11 - (int)right.X_add_symbol;\n    pcVar11 = input_line_pointer;\nLAB_00022706:\n    input_line_pointer = pcVar11;\n    if (local_94 == O_illegal) goto LAB_00022622;\n  }" if (parenthesized_expression "((lex_type[uVar19] & 2) == 0)" ( (binary_expression "(lex_type[uVar19] & 2) == 0" (parenthesized_expression "(lex_type[uVar19] & 2)" ( (binary_expression "lex_type[uVar19] & 2" (subscript_expression "lex_type[uVar19]" identifier [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00022269:\n    pcVar11 = input_line_pointer;\n    if (uVar19 == 0x2d) {\nLAB_000227c0:\n      local_94 = op_encoding[uVar19];\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar19 < 0x2e) {\n      if (uVar19 == 0x26) {\n        local_74 = (input_line_pointer[1] == '&') + 1;\n        local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n      }\n      else {\n        if (uVar19 == 0x2b) goto LAB_000227c0;\n        if (uVar19 != 0x21) goto LAB_000225c3;\n        if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = O_bit_exclusive_or;\n      }\n    }\n    else if (uVar19 == 0x3d) {\n      if (input_line_pointer[1] != '=') goto LAB_00022622;\n      local_74 = 2;\n      local_94 = O_eq;\n    }\n    else if (uVar19 < 0x3e) {\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }\n  }" { (labeled_statement "LAB_00022269:\n    pcVar11 = input_line_pointer;" statement_identifier : (expression_statement "pcVar11 = input_line_pointer;" (assignment_expression "pcVar11 = input_line_pointer" identifier = identifier) ;)) (if_statement "if (uVar19 == 0x2d) {\nLAB_000227c0:\n      local_94 = op_encoding[uVar19];\n      local_74 = 1;\n      goto LAB_00022706;\n    }" if (parenthesized_expression "(uVar19 == 0x2d)" ( (binary_expression "uVar19 == 0x2d" identifier == number_literal) )) (compound_statement "{\nLAB_000227c0:\n      local_94 = op_encoding[uVar19];\n      local_74 = 1;\n      goto LAB_00022706;\n    }" { (labeled_statement "LAB_000227c0:\n      local_94 = op_encoding[uVar19];" statement_identifier : (expression_statement "local_94 = op_encoding[uVar19];" (assignment_expression "local_94 = op_encoding[uVar19]" identifier = (subscript_expression "op_encoding[uVar19]" identifier [ identifier ])) ;)) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00022706;" goto statement_identifier ;) })) (if_statement "if (uVar19 < 0x2e) {\n      if (uVar19 == 0x26) {\n        local_74 = (input_line_pointer[1] == '&') + 1;\n        local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n      }\n      else {\n        if (uVar19 == 0x2b) goto LAB_000227c0;\n        if (uVar19 != 0x21) goto LAB_000225c3;\n        if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = O_bit_exclusive_or;\n      }\n    }\n    else if (uVar19 == 0x3d) {\n      if (input_line_pointer[1] != '=') goto LAB_00022622;\n      local_74 = 2;\n      local_94 = O_eq;\n    }\n    else if (uVar19 < 0x3e) {\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }" if (parenthesized_expression "(uVar19 < 0x2e)" ( (binary_expression "uVar19 < 0x2e" identifier < number_literal) )) (compound_statement "{\n      if (uVar19 == 0x26) {\n        local_74 = (input_line_pointer[1] == '&') + 1;\n        local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n      }\n      else {\n        if (uVar19 == 0x2b) goto LAB_000227c0;\n        if (uVar19 != 0x21) goto LAB_000225c3;\n        if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = O_bit_exclusive_or;\n      }\n    }" { (if_statement "if (uVar19 == 0x26) {\n        local_74 = (input_line_pointer[1] == '&') + 1;\n        local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n      }\n      else {\n        if (uVar19 == 0x2b) goto LAB_000227c0;\n        if (uVar19 != 0x21) goto LAB_000225c3;\n        if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = O_bit_exclusive_or;\n      }" if (parenthesized_expression "(uVar19 == 0x26)" ( (binary_expression "uVar19 == 0x26" identifier == number_literal) )) (compound_statement "{\n        local_74 = (input_line_pointer[1] == '&') + 1;\n        local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n      }" { (expression_statement "local_74 = (input_line_pointer[1] == '&') + 1;" (assignment_expression "local_74 = (input_line_pointer[1] == '&') + 1" identifier = (binary_expression "(input_line_pointer[1] == '&') + 1" (parenthesized_expression "(input_line_pointer[1] == '&')" ( (binary_expression "input_line_pointer[1] == '&'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'&'" ' character ')) )) + number_literal)) ;) (expression_statement "local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;" (assignment_expression "local_94 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and" identifier = (binary_expression "(uint)(input_line_pointer[1] == '&') * 9 + O_bit_and" (binary_expression "(uint)(input_line_pointer[1] == '&') * 9" (call_expression "(uint)(input_line_pointer[1] == '&')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(input_line_pointer[1] == '&')" ( (binary_expression "input_line_pointer[1] == '&'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'&'" ' character ')) ))) * number_literal) + identifier)) ;) }) (else_clause "else {\n        if (uVar19 == 0x2b) goto LAB_000227c0;\n        if (uVar19 != 0x21) goto LAB_000225c3;\n        if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = O_bit_exclusive_or;\n      }" else (compound_statement "{\n        if (uVar19 == 0x2b) goto LAB_000227c0;\n        if (uVar19 != 0x21) goto LAB_000225c3;\n        if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = O_bit_exclusive_or;\n      }" { (if_statement "if (uVar19 == 0x2b) goto LAB_000227c0;" if (parenthesized_expression "(uVar19 == 0x2b)" ( (binary_expression "uVar19 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_000227c0;" goto statement_identifier ;)) (if_statement "if (uVar19 != 0x21) goto LAB_000225c3;" if (parenthesized_expression "(uVar19 != 0x21)" ( (binary_expression "uVar19 != 0x21" identifier != number_literal) )) (goto_statement "goto LAB_000225c3;" goto statement_identifier ;)) (if_statement "if (input_line_pointer[1] != '!') {\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }" if (parenthesized_expression "(input_line_pointer[1] != '!')" ( (binary_expression "input_line_pointer[1] != '!'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) != (char_literal "'!'" ' character ')) )) (compound_statement "{\n          oVar15 = O_ne;\n          local_94 = O_bit_or_not;\n          bVar22 = input_line_pointer[1] == '=';\n          goto LAB_000222ad;\n        }" { (expression_statement "oVar15 = O_ne;" (assignment_expression "oVar15 = O_ne" identifier = identifier) ;) (expression_statement "local_94 = O_bit_or_not;" (assignment_expression "local_94 = O_bit_or_not" identifier = identifier) ;) (expression_statement "bVar22 = input_line_pointer[1] == '=';" (assignment_expression "bVar22 = input_line_pointer[1] == '='" identifier = (binary_expression "input_line_pointer[1] == '='" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'='" ' character '))) ;) (goto_statement "goto LAB_000222ad;" goto statement_identifier ;) })) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = O_bit_exclusive_or;" (assignment_expression "local_94 = O_bit_exclusive_or" identifier = identifier) ;) }))) }) (else_clause "else if (uVar19 == 0x3d) {\n      if (input_line_pointer[1] != '=') goto LAB_00022622;\n      local_74 = 2;\n      local_94 = O_eq;\n    }\n    else if (uVar19 < 0x3e) {\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }" else (if_statement "if (uVar19 == 0x3d) {\n      if (input_line_pointer[1] != '=') goto LAB_00022622;\n      local_74 = 2;\n      local_94 = O_eq;\n    }\n    else if (uVar19 < 0x3e) {\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }" if (parenthesized_expression "(uVar19 == 0x3d)" ( (binary_expression "uVar19 == 0x3d" identifier == number_literal) )) (compound_statement "{\n      if (input_line_pointer[1] != '=') goto LAB_00022622;\n      local_74 = 2;\n      local_94 = O_eq;\n    }" { (if_statement "if (input_line_pointer[1] != '=') goto LAB_00022622;" if (parenthesized_expression "(input_line_pointer[1] != '=')" ( (binary_expression "input_line_pointer[1] != '='" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) != (char_literal "'='" ' character ')) )) (goto_statement "goto LAB_00022622;" goto statement_identifier ;)) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = O_eq;" (assignment_expression "local_94 = O_eq" identifier = identifier) ;) }) (else_clause "else if (uVar19 < 0x3e) {\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }" else (if_statement "if (uVar19 < 0x3e) {\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }" if (parenthesized_expression "(uVar19 < 0x3e)" ( (binary_expression "uVar19 < 0x3e" identifier < number_literal) )) (compound_statement "{\n      if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }" { (if_statement "if (uVar19 == 0x3c) {\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }\n      else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" if (parenthesized_expression "(uVar19 == 0x3c)" ( (binary_expression "uVar19 == 0x3c" identifier == number_literal) )) (compound_statement "{\n        if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = O_lt;\n      }" { (if_statement "if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }" if (parenthesized_expression "((byte)(input_line_pointer[1] - 0x3cU) < 3)" ( (binary_expression "(byte)(input_line_pointer[1] - 0x3cU) < 3" (call_expression "(byte)(input_line_pointer[1] - 0x3cU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(input_line_pointer[1] - 0x3cU)" ( (binary_expression "input_line_pointer[1] - 0x3cU" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\n          local_74 = 2;\n          local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n          goto LAB_00022706;\n        }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);" (assignment_expression "local_94 = *(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4)" identifier = (pointer_expression "*(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4)" * (cast_expression "(operatorT *)(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4)" ( (type_descriptor "operatorT *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4)" ( (binary_expression "CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4" identifier + (binary_expression "(uint)(byte)(input_line_pointer[1] - 0x3cU) * 4" (call_expression "(uint)(byte)(input_line_pointer[1] - 0x3cU)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(input_line_pointer[1] - 0x3cU)" ( (binary_expression "input_line_pointer[1] - 0x3cU" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) - number_literal) ))) * number_literal)) ))))) ;) (goto_statement "goto LAB_00022706;" goto statement_identifier ;) })) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "local_94 = O_lt;" (assignment_expression "local_94 = O_lt" identifier = identifier) ;) }) (else_clause "else {\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" else (compound_statement "{\nLAB_000225c3:\n        local_94 = op_encoding[uVar19];\n        if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" { (labeled_statement "LAB_000225c3:\n        local_94 = op_encoding[uVar19];" statement_identifier : (expression_statement "local_94 = op_encoding[uVar19];" (assignment_expression "local_94 = op_encoding[uVar19]" identifier = (subscript_expression "op_encoding[uVar19]" identifier [ identifier ])) ;)) (if_statement "if (local_94 == O_illegal) {\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }" if (parenthesized_expression "(local_94 == O_illegal)" ( (binary_expression "local_94 == O_illegal" identifier == identifier) )) (compound_statement "{\n          local_94 = i386_operator((char *)0x0,2,(char *)0x0);\n          local_74 = 1;\n          if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }\n          goto LAB_00022706;\n        }" { (expression_statement "local_94 = i386_operator((char *)0x0,2,(char *)0x0);" (assignment_expression "local_94 = i386_operator((char *)0x0,2,(char *)0x0)" identifier = (call_expression "i386_operator((char *)0x0,2,(char *)0x0)" identifier (argument_list "((char *)0x0,2,(char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (if_statement "if (local_94 != O_illegal) {\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }" if (parenthesized_expression "(local_94 != O_illegal)" ( (binary_expression "local_94 != O_illegal" identifier != identifier) )) (compound_statement "{\n            local_74 = (int)input_line_pointer - (int)pcVar11;\n          }" { (expression_statement "local_74 = (int)input_line_pointer - (int)pcVar11;" (assignment_expression "local_74 = (int)input_line_pointer - (int)pcVar11" identifier = (binary_expression "(int)input_line_pointer - (int)pcVar11" (cast_expression "(int)input_line_pointer" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (goto_statement "goto LAB_00022706;" goto statement_identifier ;) })) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) }))) }) (else_clause "else {\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }" else (compound_statement "{\n      if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }\nLAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }\n      local_74 = bVar22 + 1;\n    }" { (if_statement "if (uVar19 == 0x3e) {\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }\n      else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }" if (parenthesized_expression "(uVar19 == 0x3e)" ( (binary_expression "uVar19 == 0x3e" identifier == number_literal) )) (compound_statement "{\n        if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }\n        oVar15 = O_right_shift;\n        local_94 = O_gt;\n        bVar22 = input_line_pointer[1] == '>';\n      }" { (if_statement "if (input_line_pointer[1] == '=') {\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }" if (parenthesized_expression "(input_line_pointer[1] == '=')" ( (binary_expression "input_line_pointer[1] == '='" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'='" ' character ')) )) (compound_statement "{\n          local_74 = 2;\n          local_94 = O_ge;\n          goto LAB_000222c3;\n        }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = O_ge;" (assignment_expression "local_94 = O_ge" identifier = identifier) ;) (goto_statement "goto LAB_000222c3;" goto statement_identifier ;) })) (expression_statement "oVar15 = O_right_shift;" (assignment_expression "oVar15 = O_right_shift" identifier = identifier) ;) (expression_statement "local_94 = O_gt;" (assignment_expression "local_94 = O_gt" identifier = identifier) ;) (expression_statement "bVar22 = input_line_pointer[1] == '>';" (assignment_expression "bVar22 = input_line_pointer[1] == '>'" identifier = (binary_expression "input_line_pointer[1] == '>'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'>'" ' character '))) ;) }) (else_clause "else {\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }" else (compound_statement "{\n        if (uVar19 != 0x7c) goto LAB_000225c3;\n        oVar15 = O_logical_or;\n        local_94 = O_bit_inclusive_or;\n        bVar22 = input_line_pointer[1] == '|';\n      }" { (if_statement "if (uVar19 != 0x7c) goto LAB_000225c3;" if (parenthesized_expression "(uVar19 != 0x7c)" ( (binary_expression "uVar19 != 0x7c" identifier != number_literal) )) (goto_statement "goto LAB_000225c3;" goto statement_identifier ;)) (expression_statement "oVar15 = O_logical_or;" (assignment_expression "oVar15 = O_logical_or" identifier = identifier) ;) (expression_statement "local_94 = O_bit_inclusive_or;" (assignment_expression "local_94 = O_bit_inclusive_or" identifier = identifier) ;) (expression_statement "bVar22 = input_line_pointer[1] == '|';" (assignment_expression "bVar22 = input_line_pointer[1] == '|'" identifier = (binary_expression "input_line_pointer[1] == '|'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'|'" ' character '))) ;) }))) (labeled_statement "LAB_000222ad:\n      if (bVar22) {\n        local_94 = oVar15;\n      }" statement_identifier : (if_statement "if (bVar22) {\n        local_94 = oVar15;\n      }" if (parenthesized_expression "(bVar22)" ( identifier )) (compound_statement "{\n        local_94 = oVar15;\n      }" { (expression_statement "local_94 = oVar15;" (assignment_expression "local_94 = oVar15" identifier = identifier) ;) }))) (expression_statement "local_74 = bVar22 + 1;" (assignment_expression "local_74 = bVar22 + 1" identifier = (binary_expression "bVar22 + 1" identifier + number_literal)) ;) }))))))) }) (else_clause "else {\n    cVar8 = get_symbol_name((char **)&right);\n    frag_off._0_4_ = (char *)CONCAT31(frag_off._1_3_,cVar8);\n    local_94 = i386_operator((char *)right.X_add_symbol,2,(char *)&frag_off);\n    psVar10 = right.X_add_symbol;\n    if (local_94 == O_absent) {\n      *input_line_pointer = (char)frag_off;\n      input_line_pointer = (char *)right.X_add_symbol;\n      goto LAB_00022269;\n    }\n    if ((local_94 != O_illegal) && (local_94 - O_uminus < 3)) {\n      pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n      as_bad(pcVar11,psVar10);\n      local_94 = O_illegal;\n    }\n    *input_line_pointer = (char)frag_off;\n    pcVar11 = input_line_pointer;\n    input_line_pointer = (char *)right.X_add_symbol;\n    local_74 = (int)pcVar11 - (int)right.X_add_symbol;\n    pcVar11 = input_line_pointer;\nLAB_00022706:\n    input_line_pointer = pcVar11;\n    if (local_94 == O_illegal) goto LAB_00022622;\n  }" else (compound_statement "{\n    cVar8 = get_symbol_name((char **)&right);\n    frag_off._0_4_ = (char *)CONCAT31(frag_off._1_3_,cVar8);\n    local_94 = i386_operator((char *)right.X_add_symbol,2,(char *)&frag_off);\n    psVar10 = right.X_add_symbol;\n    if (local_94 == O_absent) {\n      *input_line_pointer = (char)frag_off;\n      input_line_pointer = (char *)right.X_add_symbol;\n      goto LAB_00022269;\n    }\n    if ((local_94 != O_illegal) && (local_94 - O_uminus < 3)) {\n      pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n      as_bad(pcVar11,psVar10);\n      local_94 = O_illegal;\n    }\n    *input_line_pointer = (char)frag_off;\n    pcVar11 = input_line_pointer;\n    input_line_pointer = (char *)right.X_add_symbol;\n    local_74 = (int)pcVar11 - (int)right.X_add_symbol;\n    pcVar11 = input_line_pointer;\nLAB_00022706:\n    input_line_pointer = pcVar11;\n    if (local_94 == O_illegal) goto LAB_00022622;\n  }" { (expression_statement "cVar8 = get_symbol_name((char **)&right);" (assignment_expression "cVar8 = get_symbol_name((char **)&right)" identifier = (call_expression "get_symbol_name((char **)&right)" identifier (argument_list "((char **)&right)" ( (cast_expression "(char **)&right" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&right" & identifier)) )))) ;) (expression_statement "frag_off._0_4_ = (char *)CONCAT31(frag_off._1_3_,cVar8);" (assignment_expression "frag_off._0_4_ = (char *)CONCAT31(frag_off._1_3_,cVar8)" (field_expression "frag_off._0_4_" identifier . field_identifier) = (cast_expression "(char *)CONCAT31(frag_off._1_3_,cVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(frag_off._1_3_,cVar8)" identifier (argument_list "(frag_off._1_3_,cVar8)" ( (field_expression "frag_off._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "local_94 = i386_operator((char *)right.X_add_symbol,2,(char *)&frag_off);" (assignment_expression "local_94 = i386_operator((char *)right.X_add_symbol,2,(char *)&frag_off)" identifier = (call_expression "i386_operator((char *)right.X_add_symbol,2,(char *)&frag_off)" identifier (argument_list "((char *)right.X_add_symbol,2,(char *)&frag_off)" ( (cast_expression "(char *)right.X_add_symbol" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "right.X_add_symbol" identifier . field_identifier)) , number_literal , (cast_expression "(char *)&frag_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&frag_off" & identifier)) )))) ;) (expression_statement "psVar10 = right.X_add_symbol;" (assignment_expression "psVar10 = right.X_add_symbol" identifier = (field_expression "right.X_add_symbol" identifier . field_identifier)) ;) (if_statement "if (local_94 == O_absent) {\n      *input_line_pointer = (char)frag_off;\n      input_line_pointer = (char *)right.X_add_symbol;\n      goto LAB_00022269;\n    }" if (parenthesized_expression "(local_94 == O_absent)" ( (binary_expression "local_94 == O_absent" identifier == identifier) )) (compound_statement "{\n      *input_line_pointer = (char)frag_off;\n      input_line_pointer = (char *)right.X_add_symbol;\n      goto LAB_00022269;\n    }" { (expression_statement "*input_line_pointer = (char)frag_off;" (assignment_expression "*input_line_pointer = (char)frag_off" (pointer_expression "*input_line_pointer" * identifier) = (cast_expression "(char)frag_off" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "input_line_pointer = (char *)right.X_add_symbol;" (assignment_expression "input_line_pointer = (char *)right.X_add_symbol" identifier = (cast_expression "(char *)right.X_add_symbol" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "right.X_add_symbol" identifier . field_identifier))) ;) (goto_statement "goto LAB_00022269;" goto statement_identifier ;) })) (if_statement "if ((local_94 != O_illegal) && (local_94 - O_uminus < 3)) {\n      pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n      as_bad(pcVar11,psVar10);\n      local_94 = O_illegal;\n    }" if (parenthesized_expression "((local_94 != O_illegal) && (local_94 - O_uminus < 3))" ( (binary_expression "(local_94 != O_illegal) && (local_94 - O_uminus < 3)" (parenthesized_expression "(local_94 != O_illegal)" ( (binary_expression "local_94 != O_illegal" identifier != identifier) )) && (parenthesized_expression "(local_94 - O_uminus < 3)" ( (binary_expression "local_94 - O_uminus < 3" (binary_expression "local_94 - O_uminus" identifier - identifier) < number_literal) ))) )) (compound_statement "{\n      pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n      as_bad(pcVar11,psVar10);\n      local_94 = O_illegal;\n    }" { (expression_statement "pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"invalid use of operator \"%s\"",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid use of operator \"%s\"",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid use of operator \"%s\"",5)" identifier (argument_list "(0,"invalid use of operator \"%s\"",5)" ( number_literal , (string_literal ""invalid use of operator \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar11,psVar10);" (call_expression "as_bad(pcVar11,psVar10)" identifier (argument_list "(pcVar11,psVar10)" ( identifier , identifier ))) ;) (expression_statement "local_94 = O_illegal;" (assignment_expression "local_94 = O_illegal" identifier = identifier) ;) })) (expression_statement "*input_line_pointer = (char)frag_off;" (assignment_expression "*input_line_pointer = (char)frag_off" (pointer_expression "*input_line_pointer" * identifier) = (cast_expression "(char)frag_off" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pcVar11 = input_line_pointer;" (assignment_expression "pcVar11 = input_line_pointer" identifier = identifier) ;) (expression_statement "input_line_pointer = (char *)right.X_add_symbol;" (assignment_expression "input_line_pointer = (char *)right.X_add_symbol" identifier = (cast_expression "(char *)right.X_add_symbol" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "right.X_add_symbol" identifier . field_identifier))) ;) (expression_statement "local_74 = (int)pcVar11 - (int)right.X_add_symbol;" (assignment_expression "local_74 = (int)pcVar11 - (int)right.X_add_symbol" identifier = (binary_expression "(int)pcVar11 - (int)right.X_add_symbol" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)right.X_add_symbol" ( (type_descriptor "int" primitive_type) ) (field_expression "right.X_add_symbol" identifier . field_identifier)))) ;) (expression_statement "pcVar11 = input_line_pointer;" (assignment_expression "pcVar11 = input_line_pointer" identifier = identifier) ;) (labeled_statement "LAB_00022706:\n    input_line_pointer = pcVar11;" statement_identifier : (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;)) (if_statement "if (local_94 == O_illegal) goto LAB_00022622;" if (parenthesized_expression "(local_94 == O_illegal)" ( (binary_expression "local_94 == O_illegal" identifier == identifier) )) (goto_statement "goto LAB_00022622;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000222c3:\n  puVar7 = PTR__bfd_std_section_0007ffb0;" statement_identifier : (expression_statement "puVar7 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar7 = PTR__bfd_std_section_0007ffb0" identifier = identifier) ;)) (expression_statement "paVar17 = (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0);" (assignment_expression "paVar17 = (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier = (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) ;) (expression_statement "oVar3 = op_rank[local_94];" (assignment_expression "oVar3 = op_rank[local_94]" identifier = (subscript_expression "op_rank[local_94]" identifier [ identifier ])) ;) (expression_statement "paVar6 = local_80;" (assignment_expression "paVar6 = local_80" identifier = identifier) ;) (expression_statement "oVar15 = local_94;" (assignment_expression "oVar15 = local_94" identifier = identifier) ;) (while_statement "while (local_80 = paVar6, (char)rankarg < oVar3) {\n    right.X_md = 0;\n    input_line_pointer = input_line_pointer + local_74;\n    paVar12 = expr((int)oVar3,&right,mode);\n    if (right._16_1_ == '\x01') {\n      pcVar11 = (char *)dcgettext(0,"missing operand; zero assumed",5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n    }\n    bVar16 = *input_line_pointer;\n    uVar19 = (uint)bVar16;\n    if (bVar16 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x6fd,"expr");\n    }\n    pcVar11 = input_line_pointer;\n    if (oVar15 == O_index) {\n      if (bVar16 == 0x5d) {\n        uVar19 = (uint)(byte)input_line_pointer[1];\n        pcVar11 = input_line_pointer + 1;\n        if (input_line_pointer[1] == 0x20) {\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }\n        goto LAB_00022300;\n      }\n      as_bad("missing right bracket");\n      uVar19 = (uint)(byte)*input_line_pointer;\n      if (is_end_of_line[uVar19] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = O_illegal;\n    }\n    else {\nLAB_00022300:\n      input_line_pointer = pcVar11;\n      if (is_end_of_line[uVar19] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if ((lex_type[uVar19] & 2) == 0) {\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }\n      else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }\nLAB_00022388:\n      if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }\n    }\n    if ((int)oVar15 < 10) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x70e,"expr");\n    }\n    if (0x3d < (int)oVar15) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x712,"expr");\n    }\n    if (resultP->field_0x10 == '\x06') {\n      if (-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0))\n      {\n        pcVar11 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "left operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      resultP->field_0x10 = 2;\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->X_add_symbol = (symbolS *)0x0;\n      resultP->X_op_symbol = (symbolS *)0x0;\n    }\n    local_94._0_1_ = (undefined1)oVar15;\n    if (right._16_1_ == '\x06') {\n      if ((int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0)) {\n        pcVar11 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "right operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n      if (oVar15 != O_add) {\n        cVar8 = resultP->field_0x10;\n        if (oVar15 != O_subtract) goto LAB_000223e8;\n        if (cVar8 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        *(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n        bVar9 = resultP->field_0x11;\n        *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))\n        goto LAB_0002301d;\nLAB_000229b7:\n        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      if (resultP->field_0x10 != '\x05') {\n        bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;\nLAB_00023225:\n        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (oVar15 == O_add) {\n      if (right._16_1_ == '\x02') {\n        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_00023225;\nLAB_0002301d:\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar8 = resultP->field_0x10;\n      if (cVar8 != '\x02') goto LAB_000223f1;\n      if (right._16_1_ == '\x05') goto _L446;\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      bVar16 = resultP->field_0x11;\n      resultP->field_0x10 = right._16_1_;\n      resultP->X_add_symbol = right.X_add_symbol;\n      resultP->X_op_symbol = right.X_op_symbol;\n      uVar21 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number);\n      *(uint *)&resultP->X_add_number = uVar21 + (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n      bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n      if (uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)) {\n        bVar9 = bVar9 ^ 1;\n      }\n      resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      local_80 = paVar12;\n      goto LAB_000224e0;\n    }\n    cVar8 = resultP->field_0x10;\n    if (oVar15 == O_subtract) {\n      if (right._16_1_ == '\x03') {\n        if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;\n        psVar10 = resultP->X_add_symbol;\n        if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))) {\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }\n        else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar8 = resultP->field_0x10;\n      }\n      if (right._16_1_ == '\x02') {\n        if (cVar8 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar21 = right.X_add_number._4_4_;\n    uVar19 = (uint)right.X_add_number;\n    if (cVar8 != '\x02') {\nLAB_000223f1:\n      if ((cVar8 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;\n      if (1 < oVar15 - O_add) {\n        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;\n        resultP->field_0x10 = (undefined1)local_94;\n        resultP->X_op_symbol = right.X_add_symbol;\n        goto LAB_00022442;\n      }\n      resultP->field_0x10 = (undefined1)local_94;\n      resultP->X_op_symbol = right.X_add_symbol;\n      if (oVar15 == O_add) {\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_000229b7;\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n      bVar16 = resultP->field_0x11;\n      bVar9 = (right._17_1_ ^ bVar16) >> 1 & 1;\n      if (uVar21 < right.X_add_number._4_4_ ||\n          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)) {\n        resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';\n      }\n      else {\n        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      }\n      puVar20 = PTR__bfd_std_section_0007ffb0;\n      if (paVar12 != paVar6) goto LAB_00022450;\n      if (paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)) {\nLAB_00023318:\n        local_80 = (segT)(puVar20 + 0x180);\n        goto LAB_000224e0;\n      }\n      if (paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n        if ((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (right._16_1_ != '\x02') {\n_L446:\nLAB_00022406:\n      psVar10 = make_expr_symbol(resultP);\n      resultP->X_add_symbol = psVar10;\n      psVar10 = make_expr_symbol(&right);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      resultP->X_op_symbol = psVar10;\n      resultP->field_0x10 = (undefined1)local_94;\n      bVar16 = resultP->field_0x11;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->field_0x11 = bVar16 & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = (uint)right.X_add_number;\n    local_58 = right.X_add_number._4_4_;\n    if (right.X_add_number._4_4_ == 0 && (uint)right.X_add_number == 0) {\n      if (oVar15 - O_divide < 2) {\n        pcVar11 = (char *)dcgettext(0,"division by zero",5);\n        as_warn(pcVar11);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&\n            (oVar15 - O_left_shift < 2)) {\n      pcVar11 = (char *)dcgettext(0,"shift count",5);\n      as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(oVar15) {\n    case O_multiply:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      oVar23 = resultP->X_add_number;\n      lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number;\n      *(int *)&resultP->X_add_number = (int)lVar5;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58;\n      break;\n    case O_divide:\n      oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_modulus:\n      oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_left_shift:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 << ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar19;\n      *(uint *)&resultP->X_add_number = uVar21;\n      break;\n    case O_right_shift:\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      uVar18 = uVar19 >> ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)&resultP->X_add_number = uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n      break;\n    case O_bit_inclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | local_58;\n      break;\n    case O_bit_or_not:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | ~local_58;\n      break;\n    case O_bit_exclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 ^ local_58;\n      break;\n    case O_bit_and:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 & local_58;\n      break;\n    default:\n      goto _L446;\n    case O_subtract:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - local_5c;\n      *(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c);\n      if (uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)) {\n        resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;\n      }\n      break;\n    case O_eq:\n      uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58);\n      goto LAB_00022ed0;\n    case O_ne:\n      uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58);\n      goto LAB_00022ed0;\n    case O_lt:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d74;\nLAB_00022d9e:\n      uVar19 = 0;\n      goto LAB_00022ed0;\n    case O_le:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_ge:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_gt:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\nLAB_00022d74:\n      uVar19 = 1;\nLAB_00022ed0:\n      *(uint *)&resultP->X_add_number = -uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0);\n      break;\n    case O_logical_and:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case O_logical_or:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (paVar12 != paVar6) {\nLAB_00022450:\n      puVar20 = puVar7;\n      if ((paVar6 == paVar17) || (paVar12 == paVar17)) {\nLAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);\n      }\n      else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == O_illegal) break;\n    paVar6 = local_80;\n    oVar15 = local_88;\n    oVar3 = op_rank[local_88];\n  }" while (parenthesized_expression "(local_80 = paVar6, (char)rankarg < oVar3)" ( (comma_expression "local_80 = paVar6, (char)rankarg < oVar3" (assignment_expression "local_80 = paVar6" identifier = identifier) , (binary_expression "(char)rankarg < oVar3" (cast_expression "(char)rankarg" ( (type_descriptor "char" primitive_type) ) identifier) < identifier)) )) (compound_statement "{\n    right.X_md = 0;\n    input_line_pointer = input_line_pointer + local_74;\n    paVar12 = expr((int)oVar3,&right,mode);\n    if (right._16_1_ == '\x01') {\n      pcVar11 = (char *)dcgettext(0,"missing operand; zero assumed",5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n    }\n    bVar16 = *input_line_pointer;\n    uVar19 = (uint)bVar16;\n    if (bVar16 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x6fd,"expr");\n    }\n    pcVar11 = input_line_pointer;\n    if (oVar15 == O_index) {\n      if (bVar16 == 0x5d) {\n        uVar19 = (uint)(byte)input_line_pointer[1];\n        pcVar11 = input_line_pointer + 1;\n        if (input_line_pointer[1] == 0x20) {\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }\n        goto LAB_00022300;\n      }\n      as_bad("missing right bracket");\n      uVar19 = (uint)(byte)*input_line_pointer;\n      if (is_end_of_line[uVar19] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = O_illegal;\n    }\n    else {\nLAB_00022300:\n      input_line_pointer = pcVar11;\n      if (is_end_of_line[uVar19] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if ((lex_type[uVar19] & 2) == 0) {\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }\n      else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }\nLAB_00022388:\n      if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }\n    }\n    if ((int)oVar15 < 10) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x70e,"expr");\n    }\n    if (0x3d < (int)oVar15) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x712,"expr");\n    }\n    if (resultP->field_0x10 == '\x06') {\n      if (-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0))\n      {\n        pcVar11 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "left operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      resultP->field_0x10 = 2;\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->X_add_symbol = (symbolS *)0x0;\n      resultP->X_op_symbol = (symbolS *)0x0;\n    }\n    local_94._0_1_ = (undefined1)oVar15;\n    if (right._16_1_ == '\x06') {\n      if ((int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0)) {\n        pcVar11 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "right operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n      if (oVar15 != O_add) {\n        cVar8 = resultP->field_0x10;\n        if (oVar15 != O_subtract) goto LAB_000223e8;\n        if (cVar8 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        *(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n        bVar9 = resultP->field_0x11;\n        *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))\n        goto LAB_0002301d;\nLAB_000229b7:\n        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      if (resultP->field_0x10 != '\x05') {\n        bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;\nLAB_00023225:\n        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (oVar15 == O_add) {\n      if (right._16_1_ == '\x02') {\n        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_00023225;\nLAB_0002301d:\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar8 = resultP->field_0x10;\n      if (cVar8 != '\x02') goto LAB_000223f1;\n      if (right._16_1_ == '\x05') goto _L446;\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      bVar16 = resultP->field_0x11;\n      resultP->field_0x10 = right._16_1_;\n      resultP->X_add_symbol = right.X_add_symbol;\n      resultP->X_op_symbol = right.X_op_symbol;\n      uVar21 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number);\n      *(uint *)&resultP->X_add_number = uVar21 + (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n      bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n      if (uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)) {\n        bVar9 = bVar9 ^ 1;\n      }\n      resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      local_80 = paVar12;\n      goto LAB_000224e0;\n    }\n    cVar8 = resultP->field_0x10;\n    if (oVar15 == O_subtract) {\n      if (right._16_1_ == '\x03') {\n        if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;\n        psVar10 = resultP->X_add_symbol;\n        if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))) {\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }\n        else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar8 = resultP->field_0x10;\n      }\n      if (right._16_1_ == '\x02') {\n        if (cVar8 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar21 = right.X_add_number._4_4_;\n    uVar19 = (uint)right.X_add_number;\n    if (cVar8 != '\x02') {\nLAB_000223f1:\n      if ((cVar8 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;\n      if (1 < oVar15 - O_add) {\n        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;\n        resultP->field_0x10 = (undefined1)local_94;\n        resultP->X_op_symbol = right.X_add_symbol;\n        goto LAB_00022442;\n      }\n      resultP->field_0x10 = (undefined1)local_94;\n      resultP->X_op_symbol = right.X_add_symbol;\n      if (oVar15 == O_add) {\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_000229b7;\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n      bVar16 = resultP->field_0x11;\n      bVar9 = (right._17_1_ ^ bVar16) >> 1 & 1;\n      if (uVar21 < right.X_add_number._4_4_ ||\n          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)) {\n        resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';\n      }\n      else {\n        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      }\n      puVar20 = PTR__bfd_std_section_0007ffb0;\n      if (paVar12 != paVar6) goto LAB_00022450;\n      if (paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)) {\nLAB_00023318:\n        local_80 = (segT)(puVar20 + 0x180);\n        goto LAB_000224e0;\n      }\n      if (paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n        if ((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (right._16_1_ != '\x02') {\n_L446:\nLAB_00022406:\n      psVar10 = make_expr_symbol(resultP);\n      resultP->X_add_symbol = psVar10;\n      psVar10 = make_expr_symbol(&right);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      resultP->X_op_symbol = psVar10;\n      resultP->field_0x10 = (undefined1)local_94;\n      bVar16 = resultP->field_0x11;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->field_0x11 = bVar16 & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = (uint)right.X_add_number;\n    local_58 = right.X_add_number._4_4_;\n    if (right.X_add_number._4_4_ == 0 && (uint)right.X_add_number == 0) {\n      if (oVar15 - O_divide < 2) {\n        pcVar11 = (char *)dcgettext(0,"division by zero",5);\n        as_warn(pcVar11);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&\n            (oVar15 - O_left_shift < 2)) {\n      pcVar11 = (char *)dcgettext(0,"shift count",5);\n      as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(oVar15) {\n    case O_multiply:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      oVar23 = resultP->X_add_number;\n      lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number;\n      *(int *)&resultP->X_add_number = (int)lVar5;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58;\n      break;\n    case O_divide:\n      oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_modulus:\n      oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_left_shift:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 << ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar19;\n      *(uint *)&resultP->X_add_number = uVar21;\n      break;\n    case O_right_shift:\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      uVar18 = uVar19 >> ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)&resultP->X_add_number = uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n      break;\n    case O_bit_inclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | local_58;\n      break;\n    case O_bit_or_not:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | ~local_58;\n      break;\n    case O_bit_exclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 ^ local_58;\n      break;\n    case O_bit_and:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 & local_58;\n      break;\n    default:\n      goto _L446;\n    case O_subtract:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - local_5c;\n      *(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c);\n      if (uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)) {\n        resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;\n      }\n      break;\n    case O_eq:\n      uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58);\n      goto LAB_00022ed0;\n    case O_ne:\n      uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58);\n      goto LAB_00022ed0;\n    case O_lt:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d74;\nLAB_00022d9e:\n      uVar19 = 0;\n      goto LAB_00022ed0;\n    case O_le:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_ge:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_gt:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\nLAB_00022d74:\n      uVar19 = 1;\nLAB_00022ed0:\n      *(uint *)&resultP->X_add_number = -uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0);\n      break;\n    case O_logical_and:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case O_logical_or:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (paVar12 != paVar6) {\nLAB_00022450:\n      puVar20 = puVar7;\n      if ((paVar6 == paVar17) || (paVar12 == paVar17)) {\nLAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);\n      }\n      else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == O_illegal) break;\n    paVar6 = local_80;\n    oVar15 = local_88;\n    oVar3 = op_rank[local_88];\n  }" { (expression_statement "right.X_md = 0;" (assignment_expression "right.X_md = 0" (field_expression "right.X_md" identifier . field_identifier) = number_literal) ;) (expression_statement "input_line_pointer = input_line_pointer + local_74;" (assignment_expression "input_line_pointer = input_line_pointer + local_74" identifier = (binary_expression "input_line_pointer + local_74" identifier + identifier)) ;) (expression_statement "paVar12 = expr((int)oVar3,&right,mode);" (assignment_expression "paVar12 = expr((int)oVar3,&right,mode)" identifier = (call_expression "expr((int)oVar3,&right,mode)" identifier (argument_list "((int)oVar3,&right,mode)" ( (cast_expression "(int)oVar3" ( (type_descriptor "int" primitive_type) ) identifier) , (pointer_expression "&right" & identifier) , identifier )))) ;) (if_statement "if (right._16_1_ == '\x01') {\n      pcVar11 = (char *)dcgettext(0,"missing operand; zero assumed",5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n    }" if (parenthesized_expression "(right._16_1_ == '\x01')" ( (binary_expression "right._16_1_ == '\x01'" (field_expression "right._16_1_" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar11 = (char *)dcgettext(0,"missing operand; zero assumed",5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n    }" { (expression_statement "pcVar11 = (char *)dcgettext(0,"missing operand; zero assumed",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"missing operand; zero assumed",5)" identifier = (cast_expression "(char *)dcgettext(0,"missing operand; zero assumed",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"missing operand; zero assumed",5)" identifier (argument_list "(0,"missing operand; zero assumed",5)" ( number_literal , (string_literal ""missing operand; zero assumed"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar11);" (call_expression "as_warn(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier ))) ;) (expression_statement "right._16_1_ = 2;" (assignment_expression "right._16_1_ = 2" (field_expression "right._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "right.X_add_number._0_4_ = 0;" (assignment_expression "right.X_add_number._0_4_ = 0" (field_expression "right.X_add_number._0_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "right.X_add_number._4_4_ = 0;" (assignment_expression "right.X_add_number._4_4_ = 0" (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "right.X_add_symbol = (symbolS *)0x0;" (assignment_expression "right.X_add_symbol = (symbolS *)0x0" (field_expression "right.X_add_symbol" identifier . field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "right.X_op_symbol = (symbolS *)0x0;" (assignment_expression "right.X_op_symbol = (symbolS *)0x0" (field_expression "right.X_op_symbol" identifier . field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "bVar16 = *input_line_pointer;" (assignment_expression "bVar16 = *input_line_pointer" identifier = (pointer_expression "*input_line_pointer" * identifier)) ;) (expression_statement "uVar19 = (uint)bVar16;" (assignment_expression "uVar19 = (uint)bVar16" identifier = (cast_expression "(uint)bVar16" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar16 == 0x20) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x6fd,"expr");\n    }" if (parenthesized_expression "(bVar16 == 0x20)" ( (binary_expression "bVar16 == 0x20" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x6fd,"expr");\n    }" { comment (expression_statement "as_abort("../../gas/expr.c",0x6fd,"expr");" (call_expression "as_abort("../../gas/expr.c",0x6fd,"expr")" identifier (argument_list "("../../gas/expr.c",0x6fd,"expr")" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (string_literal ""expr"" " string_content ") ))) ;) })) (expression_statement "pcVar11 = input_line_pointer;" (assignment_expression "pcVar11 = input_line_pointer" identifier = identifier) ;) (if_statement "if (oVar15 == O_index) {\n      if (bVar16 == 0x5d) {\n        uVar19 = (uint)(byte)input_line_pointer[1];\n        pcVar11 = input_line_pointer + 1;\n        if (input_line_pointer[1] == 0x20) {\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }\n        goto LAB_00022300;\n      }\n      as_bad("missing right bracket");\n      uVar19 = (uint)(byte)*input_line_pointer;\n      if (is_end_of_line[uVar19] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = O_illegal;\n    }\n    else {\nLAB_00022300:\n      input_line_pointer = pcVar11;\n      if (is_end_of_line[uVar19] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if ((lex_type[uVar19] & 2) == 0) {\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }\n      else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }\nLAB_00022388:\n      if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }\n    }" if (parenthesized_expression "(oVar15 == O_index)" ( (binary_expression "oVar15 == O_index" identifier == identifier) )) (compound_statement "{\n      if (bVar16 == 0x5d) {\n        uVar19 = (uint)(byte)input_line_pointer[1];\n        pcVar11 = input_line_pointer + 1;\n        if (input_line_pointer[1] == 0x20) {\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }\n        goto LAB_00022300;\n      }\n      as_bad("missing right bracket");\n      uVar19 = (uint)(byte)*input_line_pointer;\n      if (is_end_of_line[uVar19] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = O_illegal;\n    }" { (if_statement "if (bVar16 == 0x5d) {\n        uVar19 = (uint)(byte)input_line_pointer[1];\n        pcVar11 = input_line_pointer + 1;\n        if (input_line_pointer[1] == 0x20) {\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }\n        goto LAB_00022300;\n      }" if (parenthesized_expression "(bVar16 == 0x5d)" ( (binary_expression "bVar16 == 0x5d" identifier == number_literal) )) (compound_statement "{\n        uVar19 = (uint)(byte)input_line_pointer[1];\n        pcVar11 = input_line_pointer + 1;\n        if (input_line_pointer[1] == 0x20) {\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }\n        goto LAB_00022300;\n      }" { (expression_statement "uVar19 = (uint)(byte)input_line_pointer[1];" (assignment_expression "uVar19 = (uint)(byte)input_line_pointer[1]" identifier = (cast_expression "(uint)(byte)input_line_pointer[1]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)input_line_pointer[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])))) ;) (expression_statement "pcVar11 = input_line_pointer + 1;" (assignment_expression "pcVar11 = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (if_statement "if (input_line_pointer[1] == 0x20) {\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }" if (parenthesized_expression "(input_line_pointer[1] == 0x20)" ( (binary_expression "input_line_pointer[1] == 0x20" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          uVar19 = (uint)(byte)input_line_pointer[2];\n          pcVar11 = input_line_pointer + 2;\n        }" { (expression_statement "uVar19 = (uint)(byte)input_line_pointer[2];" (assignment_expression "uVar19 = (uint)(byte)input_line_pointer[2]" identifier = (cast_expression "(uint)(byte)input_line_pointer[2]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)input_line_pointer[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "input_line_pointer[2]" identifier [ number_literal ])))) ;) (expression_statement "pcVar11 = input_line_pointer + 2;" (assignment_expression "pcVar11 = input_line_pointer + 2" identifier = (binary_expression "input_line_pointer + 2" identifier + number_literal)) ;) })) (goto_statement "goto LAB_00022300;" goto statement_identifier ;) })) (expression_statement "as_bad("missing right bracket");" (call_expression "as_bad("missing right bracket")" identifier (argument_list "("missing right bracket")" ( (string_literal ""missing right bracket"" " string_content ") ))) ;) (expression_statement "uVar19 = (uint)(byte)*input_line_pointer;" (assignment_expression "uVar19 = (uint)(byte)*input_line_pointer" identifier = (binary_expression "(uint)(byte)*input_line_pointer" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) * identifier)) ;) (if_statement "if (is_end_of_line[uVar19] == '\0') goto LAB_00022311;" if (parenthesized_expression "(is_end_of_line[uVar19] == '\0')" ( (binary_expression "is_end_of_line[uVar19] == '\0'" (subscript_expression "is_end_of_line[uVar19]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022311;" goto statement_identifier ;)) (labeled_statement "LAB_00022590:\n      local_74 = 1;" statement_identifier : (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;)) (expression_statement "local_88 = O_illegal;" (assignment_expression "local_88 = O_illegal" identifier = identifier) ;) }) (else_clause "else {\nLAB_00022300:\n      input_line_pointer = pcVar11;\n      if (is_end_of_line[uVar19] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if ((lex_type[uVar19] & 2) == 0) {\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }\n      else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }\nLAB_00022388:\n      if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }\n    }" else (compound_statement "{\nLAB_00022300:\n      input_line_pointer = pcVar11;\n      if (is_end_of_line[uVar19] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if ((lex_type[uVar19] & 2) == 0) {\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }\n      else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }\nLAB_00022388:\n      if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }\n    }" { (labeled_statement "LAB_00022300:\n      input_line_pointer = pcVar11;" statement_identifier : (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;)) (if_statement "if (is_end_of_line[uVar19] != '\0') goto LAB_00022590;" if (parenthesized_expression "(is_end_of_line[uVar19] != '\0')" ( (binary_expression "is_end_of_line[uVar19] != '\0'" (subscript_expression "is_end_of_line[uVar19]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022590;" goto statement_identifier ;)) (labeled_statement "LAB_00022311:\n      if ((lex_type[uVar19] & 2) == 0) {\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }\n      else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }" statement_identifier : (if_statement "if ((lex_type[uVar19] & 2) == 0) {\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }\n      else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }" if (parenthesized_expression "((lex_type[uVar19] & 2) == 0)" ( (binary_expression "(lex_type[uVar19] & 2) == 0" (parenthesized_expression "(lex_type[uVar19] & 2)" ( (binary_expression "lex_type[uVar19] & 2" (subscript_expression "lex_type[uVar19]" identifier [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\n        if (uVar19 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pcVar11 = input_line_pointer;\n        if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }\n      }" { (if_statement "if (uVar19 == 0x2d) goto LAB_00023070;" if (parenthesized_expression "(uVar19 == 0x2d)" ( (binary_expression "uVar19 == 0x2d" identifier == number_literal) )) (goto_statement "goto LAB_00023070;" goto statement_identifier ;)) (labeled_statement "LAB_00022328:\n        pcVar11 = input_line_pointer;" statement_identifier : (expression_statement "pcVar11 = input_line_pointer;" (assignment_expression "pcVar11 = input_line_pointer" identifier = identifier) ;)) (if_statement "if (uVar19 < 0x2e) {\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }\n        else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }" if (parenthesized_expression "(uVar19 < 0x2e)" ( (binary_expression "uVar19 < 0x2e" identifier < number_literal) )) (compound_statement "{\n          if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }\n        }" { (if_statement "if (uVar19 == 0x26) {\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }" if (parenthesized_expression "(uVar19 == 0x26)" ( (binary_expression "uVar19 == 0x26" identifier == number_literal) )) (compound_statement "{\n            bVar22 = oVar15 != O_index;\n            local_74 = (input_line_pointer[1] == '&') + 1;\n            local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;\n            input_line_pointer = pcVar11;\n          }" { (expression_statement "bVar22 = oVar15 != O_index;" (assignment_expression "bVar22 = oVar15 != O_index" identifier = (binary_expression "oVar15 != O_index" identifier != identifier)) ;) (expression_statement "local_74 = (input_line_pointer[1] == '&') + 1;" (assignment_expression "local_74 = (input_line_pointer[1] == '&') + 1" identifier = (binary_expression "(input_line_pointer[1] == '&') + 1" (parenthesized_expression "(input_line_pointer[1] == '&')" ( (binary_expression "input_line_pointer[1] == '&'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'&'" ' character ')) )) + number_literal)) ;) (expression_statement "local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and;" (assignment_expression "local_88 = (uint)(input_line_pointer[1] == '&') * 9 + O_bit_and" identifier = (binary_expression "(uint)(input_line_pointer[1] == '&') * 9 + O_bit_and" (binary_expression "(uint)(input_line_pointer[1] == '&') * 9" (call_expression "(uint)(input_line_pointer[1] == '&')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(input_line_pointer[1] == '&')" ( (binary_expression "input_line_pointer[1] == '&'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'&'" ' character ')) ))) * number_literal) + identifier)) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) }) (else_clause "else {\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }" else (compound_statement "{\n            if (uVar19 == 0x2b) goto LAB_00023070;\n            if (uVar19 != 0x21) goto LAB_00022883;\n            bVar22 = oVar15 != O_index;\n            cVar8 = input_line_pointer[1];\n            if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }\n          }" { (if_statement "if (uVar19 == 0x2b) goto LAB_00023070;" if (parenthesized_expression "(uVar19 == 0x2b)" ( (binary_expression "uVar19 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_00023070;" goto statement_identifier ;)) (if_statement "if (uVar19 != 0x21) goto LAB_00022883;" if (parenthesized_expression "(uVar19 != 0x21)" ( (binary_expression "uVar19 != 0x21" identifier != number_literal) )) (goto_statement "goto LAB_00022883;" goto statement_identifier ;)) (expression_statement "bVar22 = oVar15 != O_index;" (assignment_expression "bVar22 = oVar15 != O_index" identifier = (binary_expression "oVar15 != O_index" identifier != identifier)) ;) (expression_statement "cVar8 = input_line_pointer[1];" (assignment_expression "cVar8 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (if_statement "if (cVar8 == '!') {\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }" if (parenthesized_expression "(cVar8 == '!')" ( (binary_expression "cVar8 == '!'" identifier == (char_literal "'!'" ' character ')) )) (compound_statement "{\n              local_74 = 2;\n              local_88 = O_bit_exclusive_or;\n              input_line_pointer = pcVar11;\n            }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = O_bit_exclusive_or;" (assignment_expression "local_88 = O_bit_exclusive_or" identifier = identifier) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) }) (else_clause "else {\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }" else (compound_statement "{\n              local_74 = (cVar8 == '=') + 1;\n              local_88 = O_bit_or_not;\n              input_line_pointer = pcVar11;\n              if (cVar8 == '=') {\n                local_88 = O_ne;\n              }\n            }" { (expression_statement "local_74 = (cVar8 == '=') + 1;" (assignment_expression "local_74 = (cVar8 == '=') + 1" identifier = (binary_expression "(cVar8 == '=') + 1" (parenthesized_expression "(cVar8 == '=')" ( (binary_expression "cVar8 == '='" identifier == (char_literal "'='" ' character ')) )) + number_literal)) ;) (expression_statement "local_88 = O_bit_or_not;" (assignment_expression "local_88 = O_bit_or_not" identifier = identifier) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) (if_statement "if (cVar8 == '=') {\n                local_88 = O_ne;\n              }" if (parenthesized_expression "(cVar8 == '=')" ( (binary_expression "cVar8 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n                local_88 = O_ne;\n              }" { (expression_statement "local_88 = O_ne;" (assignment_expression "local_88 = O_ne" identifier = identifier) ;) })) }))) }))) }) (else_clause "else if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }" else (if_statement "if (uVar19 == 0x3d) {\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }\n        else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }" if (parenthesized_expression "(uVar19 == 0x3d)" ( (binary_expression "uVar19 == 0x3d" identifier == number_literal) )) (compound_statement "{\n          if (input_line_pointer[1] != '=') goto LAB_00022590;\n          bVar22 = oVar15 != O_index;\n          local_74 = 2;\n          local_88 = O_eq;\n          input_line_pointer = pcVar11;\n        }" { (if_statement "if (input_line_pointer[1] != '=') goto LAB_00022590;" if (parenthesized_expression "(input_line_pointer[1] != '=')" ( (binary_expression "input_line_pointer[1] != '='" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) != (char_literal "'='" ' character ')) )) (goto_statement "goto LAB_00022590;" goto statement_identifier ;)) (expression_statement "bVar22 = oVar15 != O_index;" (assignment_expression "bVar22 = oVar15 != O_index" identifier = (binary_expression "oVar15 != O_index" identifier != identifier)) ;) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = O_eq;" (assignment_expression "local_88 = O_eq" identifier = identifier) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) }) (else_clause "else if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }" else (if_statement "if (uVar19 < 0x3e) {\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }\n        else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }" if (parenthesized_expression "(uVar19 < 0x3e)" ( (binary_expression "uVar19 < 0x3e" identifier < number_literal) )) (compound_statement "{\n          if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }\n        }" { (if_statement "if (uVar19 == 0x3c) {\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }" if (parenthesized_expression "(uVar19 == 0x3c)" ( (binary_expression "uVar19 == 0x3c" identifier == number_literal) )) (compound_statement "{\n            bVar22 = oVar15 != O_index;\n            if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }\n          }" { (expression_statement "bVar22 = oVar15 != O_index;" (assignment_expression "bVar22 = oVar15 != O_index" identifier = (binary_expression "oVar15 != O_index" identifier != identifier)) ;) (if_statement "if ((byte)(input_line_pointer[1] - 0x3cU) < 3) {\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n            else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }" if (parenthesized_expression "((byte)(input_line_pointer[1] - 0x3cU) < 3)" ( (binary_expression "(byte)(input_line_pointer[1] - 0x3cU) < 3" (call_expression "(byte)(input_line_pointer[1] - 0x3cU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(input_line_pointer[1] - 0x3cU)" ( (binary_expression "input_line_pointer[1] - 0x3cU" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\n              local_74 = 2;\n              local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4);" (assignment_expression "local_88 = *(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4)" identifier = (pointer_expression "*(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4)" * (cast_expression "(operatorT *)\n                          (CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4)" ( (type_descriptor "operatorT *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4)" ( (binary_expression "CSWTCH_363 + (uint)(byte)(input_line_pointer[1] - 0x3cU) * 4" identifier + (binary_expression "(uint)(byte)(input_line_pointer[1] - 0x3cU) * 4" (call_expression "(uint)(byte)(input_line_pointer[1] - 0x3cU)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(input_line_pointer[1] - 0x3cU)" ( (binary_expression "input_line_pointer[1] - 0x3cU" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) - number_literal) ))) * number_literal)) ))))) ;) (expression_statement "bVar22 = bVar22 && local_88 != O_illegal;" (assignment_expression "bVar22 = bVar22 && local_88 != O_illegal" identifier = (binary_expression "bVar22 && local_88 != O_illegal" identifier && (binary_expression "local_88 != O_illegal" identifier != identifier))) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) }) (else_clause "else {\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }" else (compound_statement "{\n              local_74 = 1;\n              local_88 = O_lt;\n              input_line_pointer = pcVar11;\n            }" { (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "local_88 = O_lt;" (assignment_expression "local_88 = O_lt" identifier = identifier) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) }))) }) (else_clause "else {\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }" else (compound_statement "{\nLAB_00022883:\n            local_88 = op_encoding[uVar19];\n            bVar22 = oVar15 != O_index;\n            local_74 = 1;\n            input_line_pointer = pcVar11;\n            if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }\n          }" { (labeled_statement "LAB_00022883:\n            local_88 = op_encoding[uVar19];" statement_identifier : (expression_statement "local_88 = op_encoding[uVar19];" (assignment_expression "local_88 = op_encoding[uVar19]" identifier = (subscript_expression "op_encoding[uVar19]" identifier [ identifier ])) ;)) (expression_statement "bVar22 = oVar15 != O_index;" (assignment_expression "bVar22 = oVar15 != O_index" identifier = (binary_expression "oVar15 != O_index" identifier != identifier)) ;) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) (if_statement "if (local_88 == O_illegal) {\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }" if (parenthesized_expression "(local_88 == O_illegal)" ( (binary_expression "local_88 == O_illegal" identifier == identifier) )) (compound_statement "{\n              local_88 = i386_operator((char *)0x0,2,(char *)0x0);\n              if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }\n              bVar22 = bVar22 && local_88 != O_illegal;\n              input_line_pointer = pcVar11;\n            }" { (expression_statement "local_88 = i386_operator((char *)0x0,2,(char *)0x0);" (assignment_expression "local_88 = i386_operator((char *)0x0,2,(char *)0x0)" identifier = (call_expression "i386_operator((char *)0x0,2,(char *)0x0)" identifier (argument_list "((char *)0x0,2,(char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (local_88 != O_illegal) {\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }" if (parenthesized_expression "(local_88 != O_illegal)" ( (binary_expression "local_88 != O_illegal" identifier != identifier) )) (compound_statement "{\n                local_74 = (int)input_line_pointer - (int)pcVar11;\n              }" { (expression_statement "local_74 = (int)input_line_pointer - (int)pcVar11;" (assignment_expression "local_74 = (int)input_line_pointer - (int)pcVar11" identifier = (binary_expression "(int)input_line_pointer - (int)pcVar11" (cast_expression "(int)input_line_pointer" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "bVar22 = bVar22 && local_88 != O_illegal;" (assignment_expression "bVar22 = bVar22 && local_88 != O_illegal" identifier = (binary_expression "bVar22 && local_88 != O_illegal" identifier && (binary_expression "local_88 != O_illegal" identifier != identifier))) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) })) }))) }) (else_clause "else if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }" else (if_statement "if (uVar19 == 0x3e) {\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }\n        else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }" if (parenthesized_expression "(uVar19 == 0x3e)" ( (binary_expression "uVar19 == 0x3e" identifier == number_literal) )) (compound_statement "{\n          bVar22 = oVar15 != O_index;\n          cVar8 = input_line_pointer[1];\n          if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }\n        }" { (expression_statement "bVar22 = oVar15 != O_index;" (assignment_expression "bVar22 = oVar15 != O_index" identifier = (binary_expression "oVar15 != O_index" identifier != identifier)) ;) (expression_statement "cVar8 = input_line_pointer[1];" (assignment_expression "cVar8 = input_line_pointer[1]" identifier = (subscript_expression "input_line_pointer[1]" identifier [ number_literal ])) ;) (if_statement "if (cVar8 == '=') {\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }\n          else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }" if (parenthesized_expression "(cVar8 == '=')" ( (binary_expression "cVar8 == '='" identifier == (char_literal "'='" ' character ')) )) (compound_statement "{\n            local_74 = 2;\n            local_88 = O_ge;\n            input_line_pointer = pcVar11;\n          }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = O_ge;" (assignment_expression "local_88 = O_ge" identifier = identifier) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) }) (else_clause "else {\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }" else (compound_statement "{\n            local_74 = (cVar8 == '>') + 1;\n            local_88 = O_gt;\n            input_line_pointer = pcVar11;\n            if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }\n          }" { (expression_statement "local_74 = (cVar8 == '>') + 1;" (assignment_expression "local_74 = (cVar8 == '>') + 1" identifier = (binary_expression "(cVar8 == '>') + 1" (parenthesized_expression "(cVar8 == '>')" ( (binary_expression "cVar8 == '>'" identifier == (char_literal "'>'" ' character ')) )) + number_literal)) ;) (expression_statement "local_88 = O_gt;" (assignment_expression "local_88 = O_gt" identifier = identifier) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) (if_statement "if (cVar8 == '>') {\n              local_88 = O_right_shift;\n            }" if (parenthesized_expression "(cVar8 == '>')" ( (binary_expression "cVar8 == '>'" identifier == (char_literal "'>'" ' character ')) )) (compound_statement "{\n              local_88 = O_right_shift;\n            }" { (expression_statement "local_88 = O_right_shift;" (assignment_expression "local_88 = O_right_shift" identifier = identifier) ;) })) }))) }) (else_clause "else {\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }" else (compound_statement "{\n          if (uVar19 != 0x7c) goto LAB_00022883;\n          bVar22 = oVar15 != O_index;\n          local_74 = (input_line_pointer[1] == '|') + 1;\n          local_88 = O_bit_inclusive_or;\n          input_line_pointer = pcVar11;\n          if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }\n        }" { (if_statement "if (uVar19 != 0x7c) goto LAB_00022883;" if (parenthesized_expression "(uVar19 != 0x7c)" ( (binary_expression "uVar19 != 0x7c" identifier != number_literal) )) (goto_statement "goto LAB_00022883;" goto statement_identifier ;)) (expression_statement "bVar22 = oVar15 != O_index;" (assignment_expression "bVar22 = oVar15 != O_index" identifier = (binary_expression "oVar15 != O_index" identifier != identifier)) ;) (expression_statement "local_74 = (input_line_pointer[1] == '|') + 1;" (assignment_expression "local_74 = (input_line_pointer[1] == '|') + 1" identifier = (binary_expression "(input_line_pointer[1] == '|') + 1" (parenthesized_expression "(input_line_pointer[1] == '|')" ( (binary_expression "input_line_pointer[1] == '|'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'|'" ' character ')) )) + number_literal)) ;) (expression_statement "local_88 = O_bit_inclusive_or;" (assignment_expression "local_88 = O_bit_inclusive_or" identifier = identifier) ;) (expression_statement "input_line_pointer = pcVar11;" (assignment_expression "input_line_pointer = pcVar11" identifier = identifier) ;) (if_statement "if (input_line_pointer[1] == '|') {\n            local_88 = O_logical_or;\n          }" if (parenthesized_expression "(input_line_pointer[1] == '|')" ( (binary_expression "input_line_pointer[1] == '|'" (subscript_expression "input_line_pointer[1]" identifier [ number_literal ]) == (char_literal "'|'" ' character ')) )) (compound_statement "{\n            local_88 = O_logical_or;\n          }" { (expression_statement "local_88 = O_logical_or;" (assignment_expression "local_88 = O_logical_or" identifier = identifier) ;) })) }))))))))) }) (else_clause "else {\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }" else (compound_statement "{\n        ec = get_symbol_name((char **)&frag_off);\n        local_88 = i386_operator((char *)frag_off,2,&ec);\n        pcVar11 = (char *)frag_off;\n        if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }\n        *input_line_pointer = ec;\n        input_line_pointer = (char *)frag_off;\n        if (uVar19 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = op_encoding[uVar19];\n        local_74 = 1;\n        bVar22 = local_88 != O_illegal && oVar15 != O_index;\n      }" { (expression_statement "ec = get_symbol_name((char **)&frag_off);" (assignment_expression "ec = get_symbol_name((char **)&frag_off)" identifier = (call_expression "get_symbol_name((char **)&frag_off)" identifier (argument_list "((char **)&frag_off)" ( (cast_expression "(char **)&frag_off" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&frag_off" & identifier)) )))) ;) (expression_statement "local_88 = i386_operator((char *)frag_off,2,&ec);" (assignment_expression "local_88 = i386_operator((char *)frag_off,2,&ec)" identifier = (call_expression "i386_operator((char *)frag_off,2,&ec)" identifier (argument_list "((char *)frag_off,2,&ec)" ( (cast_expression "(char *)frag_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (pointer_expression "&ec" & identifier) )))) ;) (expression_statement "pcVar11 = (char *)frag_off;" (assignment_expression "pcVar11 = (char *)frag_off" identifier = (cast_expression "(char *)frag_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (local_88 != O_absent) {\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }" if (parenthesized_expression "(local_88 != O_absent)" ( (binary_expression "local_88 != O_absent" identifier != identifier) )) (compound_statement "{\n          if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }\n          *input_line_pointer = ec;\n          pcVar11 = input_line_pointer;\n          input_line_pointer = (char *)frag_off;\n          local_74 = (int)pcVar11 - (int)(char *)frag_off;\n          goto LAB_00022388;\n        }" { (if_statement "if ((local_88 == O_illegal) || (2 < local_88 - O_uminus)) {\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }\n          else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }" if (parenthesized_expression "((local_88 == O_illegal) || (2 < local_88 - O_uminus))" ( (binary_expression "(local_88 == O_illegal) || (2 < local_88 - O_uminus)" (parenthesized_expression "(local_88 == O_illegal)" ( (binary_expression "local_88 == O_illegal" identifier == identifier) )) || (parenthesized_expression "(2 < local_88 - O_uminus)" ( (binary_expression "2 < local_88 - O_uminus" number_literal < (binary_expression "local_88 - O_uminus" identifier - identifier)) ))) )) (compound_statement "{\n            bVar22 = oVar15 != O_index && local_88 != O_illegal;\n          }" { (expression_statement "bVar22 = oVar15 != O_index && local_88 != O_illegal;" (assignment_expression "bVar22 = oVar15 != O_index && local_88 != O_illegal" identifier = (binary_expression "oVar15 != O_index && local_88 != O_illegal" (binary_expression "oVar15 != O_index" identifier != identifier) && (binary_expression "local_88 != O_illegal" identifier != identifier))) ;) }) (else_clause "else {\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }" else (compound_statement "{\n            format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);\n            as_bad(format,pcVar11);\n            bVar22 = false;\n            local_88 = O_illegal;\n          }" { (expression_statement "format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5);" (assignment_expression "format = (char *)dcgettext(0,"invalid use of operator \"%s\"",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid use of operator \"%s\"",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid use of operator \"%s\"",5)" identifier (argument_list "(0,"invalid use of operator \"%s\"",5)" ( number_literal , (string_literal ""invalid use of operator \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_bad(format,pcVar11);" (call_expression "as_bad(format,pcVar11)" identifier (argument_list "(format,pcVar11)" ( identifier , identifier ))) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "local_88 = O_illegal;" (assignment_expression "local_88 = O_illegal" identifier = identifier) ;) }))) (expression_statement "*input_line_pointer = ec;" (assignment_expression "*input_line_pointer = ec" (pointer_expression "*input_line_pointer" * identifier) = identifier) ;) (expression_statement "pcVar11 = input_line_pointer;" (assignment_expression "pcVar11 = input_line_pointer" identifier = identifier) ;) (expression_statement "input_line_pointer = (char *)frag_off;" (assignment_expression "input_line_pointer = (char *)frag_off" identifier = (cast_expression "(char *)frag_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_74 = (int)pcVar11 - (int)(char *)frag_off;" (assignment_expression "local_74 = (int)pcVar11 - (int)(char *)frag_off" identifier = (binary_expression "(int)pcVar11 - (int)(char *)frag_off" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(char *)frag_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)frag_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (goto_statement "goto LAB_00022388;" goto statement_identifier ;) })) (expression_statement "*input_line_pointer = ec;" (assignment_expression "*input_line_pointer = ec" (pointer_expression "*input_line_pointer" * identifier) = identifier) ;) (expression_statement "input_line_pointer = (char *)frag_off;" (assignment_expression "input_line_pointer = (char *)frag_off" identifier = (cast_expression "(char *)frag_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar19 != 0x2d) goto LAB_00022328;" if (parenthesized_expression "(uVar19 != 0x2d)" ( (binary_expression "uVar19 != 0x2d" identifier != number_literal) )) (goto_statement "goto LAB_00022328;" goto statement_identifier ;)) (labeled_statement "LAB_00023070:\n        local_88 = op_encoding[uVar19];" statement_identifier : (expression_statement "local_88 = op_encoding[uVar19];" (assignment_expression "local_88 = op_encoding[uVar19]" identifier = (subscript_expression "op_encoding[uVar19]" identifier [ identifier ])) ;)) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "bVar22 = local_88 != O_illegal && oVar15 != O_index;" (assignment_expression "bVar22 = local_88 != O_illegal && oVar15 != O_index" identifier = (binary_expression "local_88 != O_illegal && oVar15 != O_index" (binary_expression "local_88 != O_illegal" identifier != identifier) && (binary_expression "oVar15 != O_index" identifier != identifier))) ;) })))) (labeled_statement "LAB_00022388:\n      if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }" statement_identifier : (if_statement "if ((bVar22) && (op_rank[oVar15] < op_rank[local_88])) {\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }" if (parenthesized_expression "((bVar22) && (op_rank[oVar15] < op_rank[local_88]))" ( (binary_expression "(bVar22) && (op_rank[oVar15] < op_rank[local_88])" (parenthesized_expression "(bVar22)" ( identifier )) && (parenthesized_expression "(op_rank[oVar15] < op_rank[local_88])" ( (binary_expression "op_rank[oVar15] < op_rank[local_88]" (subscript_expression "op_rank[oVar15]" identifier [ identifier ]) < (subscript_expression "op_rank[local_88]" identifier [ identifier ])) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        as_abort("../../gas/expr.c",0x70d,"expr");\n      }" { comment (expression_statement "as_abort("../../gas/expr.c",0x70d,"expr");" (call_expression "as_abort("../../gas/expr.c",0x70d,"expr")" identifier (argument_list "("../../gas/expr.c",0x70d,"expr")" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (string_literal ""expr"" " string_content ") ))) ;) }))) }))) (if_statement "if ((int)oVar15 < 10) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x70e,"expr");\n    }" if (parenthesized_expression "((int)oVar15 < 10)" ( (binary_expression "(int)oVar15 < 10" (cast_expression "(int)oVar15" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x70e,"expr");\n    }" { comment (expression_statement "as_abort("../../gas/expr.c",0x70e,"expr");" (call_expression "as_abort("../../gas/expr.c",0x70e,"expr")" identifier (argument_list "("../../gas/expr.c",0x70e,"expr")" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (string_literal ""expr"" " string_content ") ))) ;) })) (if_statement "if (0x3d < (int)oVar15) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x712,"expr");\n    }" if (parenthesized_expression "(0x3d < (int)oVar15)" ( (binary_expression "0x3d < (int)oVar15" number_literal < (cast_expression "(int)oVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/expr.c",0x712,"expr");\n    }" { comment (expression_statement "as_abort("../../gas/expr.c",0x712,"expr");" (call_expression "as_abort("../../gas/expr.c",0x712,"expr")" identifier (argument_list "("../../gas/expr.c",0x712,"expr")" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (string_literal ""expr"" " string_content ") ))) ;) })) (if_statement "if (resultP->field_0x10 == '\x06') {\n      if (-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0))\n      {\n        pcVar11 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "left operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      resultP->field_0x10 = 2;\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->X_add_symbol = (symbolS *)0x0;\n      resultP->X_op_symbol = (symbolS *)0x0;\n    }" if (parenthesized_expression "(resultP->field_0x10 == '\x06')" ( (binary_expression "resultP->field_0x10 == '\x06'" (field_expression "resultP->field_0x10" identifier -> field_identifier) == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n      if (-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0))\n      {\n        pcVar11 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "left operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      resultP->field_0x10 = 2;\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->X_add_symbol = (symbolS *)0x0;\n      resultP->X_op_symbol = (symbolS *)0x0;\n    }" { (if_statement "if (-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0))\n      {\n        pcVar11 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "left operand is a float; integer 0 assumed";\n      }" if (parenthesized_expression "(-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0))" ( (binary_expression "-*(int *)((int)&resultP->X_add_number + 4) < (int)(uint)((int)resultP->X_add_number != 0)" (unary_expression "-*(int *)((int)&resultP->X_add_number + 4)" - (pointer_expression "*(int *)((int)&resultP->X_add_number + 4)" * (cast_expression "(int *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) < (cast_expression "(int)(uint)((int)resultP->X_add_number != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)resultP->X_add_number != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)resultP->X_add_number != 0)" ( (binary_expression "(int)resultP->X_add_number != 0" (cast_expression "(int)resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) != number_literal) ))))) )) (compound_statement "{\n        pcVar11 = "left operand is a bignum; integer 0 assumed";\n      }" { (expression_statement "pcVar11 = "left operand is a bignum; integer 0 assumed";" (assignment_expression "pcVar11 = "left operand is a bignum; integer 0 assumed"" identifier = (string_literal ""left operand is a bignum; integer 0 assumed"" " string_content ")) ;) }) (else_clause "else {\n        pcVar11 = "left operand is a float; integer 0 assumed";\n      }" else (compound_statement "{\n        pcVar11 = "left operand is a float; integer 0 assumed";\n      }" { (expression_statement "pcVar11 = "left operand is a float; integer 0 assumed";" (assignment_expression "pcVar11 = "left operand is a float; integer 0 assumed"" identifier = (string_literal ""left operand is a float; integer 0 assumed"" " string_content ")) ;) }))) (expression_statement "pcVar11 = (char *)dcgettext(0,pcVar11,5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,pcVar11,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar11,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar11,5)" identifier (argument_list "(0,pcVar11,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "as_warn(pcVar11);" (call_expression "as_warn(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier ))) ;) (expression_statement "resultP->field_0x10 = 2;" (assignment_expression "resultP->field_0x10 = 2" (field_expression "resultP->field_0x10" identifier -> field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)&resultP->X_add_number = 0;" (assignment_expression "*(undefined4 *)&resultP->X_add_number = 0" (pointer_expression "*(undefined4 *)&resultP->X_add_number" * (cast_expression "(undefined4 *)&resultP->X_add_number" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&resultP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&resultP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&resultP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "resultP->X_add_symbol = (symbolS *)0x0;" (assignment_expression "resultP->X_add_symbol = (symbolS *)0x0" (field_expression "resultP->X_add_symbol" identifier -> field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "resultP->X_op_symbol = (symbolS *)0x0;" (assignment_expression "resultP->X_op_symbol = (symbolS *)0x0" (field_expression "resultP->X_op_symbol" identifier -> field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "local_94._0_1_ = (undefined1)oVar15;" (assignment_expression "local_94._0_1_ = (undefined1)oVar15" (field_expression "local_94._0_1_" identifier . field_identifier) = (cast_expression "(undefined1)oVar15" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (if_statement "if (right._16_1_ == '\x06') {\n      if ((int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0)) {\n        pcVar11 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "right operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n      if (oVar15 != O_add) {\n        cVar8 = resultP->field_0x10;\n        if (oVar15 != O_subtract) goto LAB_000223e8;\n        if (cVar8 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        *(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n        bVar9 = resultP->field_0x11;\n        *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))\n        goto LAB_0002301d;\nLAB_000229b7:\n        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      if (resultP->field_0x10 != '\x05') {\n        bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;\nLAB_00023225:\n        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }" if (parenthesized_expression "(right._16_1_ == '\x06')" ( (binary_expression "right._16_1_ == '\x06'" (field_expression "right._16_1_" identifier . field_identifier) == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n      if ((int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0)) {\n        pcVar11 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "right operand is a float; integer 0 assumed";\n      }\n      pcVar11 = (char *)dcgettext(0,pcVar11,5);\n      as_warn(pcVar11);\n      right._16_1_ = 2;\n      right.X_add_number._0_4_ = 0;\n      right.X_add_number._4_4_ = 0;\n      right.X_add_symbol = (symbolS *)0x0;\n      right.X_op_symbol = (symbolS *)0x0;\n      if (oVar15 != O_add) {\n        cVar8 = resultP->field_0x10;\n        if (oVar15 != O_subtract) goto LAB_000223e8;\n        if (cVar8 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        *(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n        bVar9 = resultP->field_0x11;\n        *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))\n        goto LAB_0002301d;\nLAB_000229b7:\n        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      if (resultP->field_0x10 != '\x05') {\n        bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;\nLAB_00023225:\n        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }" { (if_statement "if ((int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0)) {\n        pcVar11 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar11 = "right operand is a float; integer 0 assumed";\n      }" if (parenthesized_expression "((int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0))" ( (binary_expression "(int)-right.X_add_number._4_4_ < (int)(uint)((uint)right.X_add_number != 0)" (cast_expression "(int)-right.X_add_number._4_4_" ( (type_descriptor "int" primitive_type) ) (unary_expression "-right.X_add_number._4_4_" - (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier))) < (cast_expression "(int)(uint)((uint)right.X_add_number != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((uint)right.X_add_number != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)right.X_add_number != 0)" ( (binary_expression "(uint)right.X_add_number != 0" (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)) != number_literal) ))))) )) (compound_statement "{\n        pcVar11 = "right operand is a bignum; integer 0 assumed";\n      }" { (expression_statement "pcVar11 = "right operand is a bignum; integer 0 assumed";" (assignment_expression "pcVar11 = "right operand is a bignum; integer 0 assumed"" identifier = (string_literal ""right operand is a bignum; integer 0 assumed"" " string_content ")) ;) }) (else_clause "else {\n        pcVar11 = "right operand is a float; integer 0 assumed";\n      }" else (compound_statement "{\n        pcVar11 = "right operand is a float; integer 0 assumed";\n      }" { (expression_statement "pcVar11 = "right operand is a float; integer 0 assumed";" (assignment_expression "pcVar11 = "right operand is a float; integer 0 assumed"" identifier = (string_literal ""right operand is a float; integer 0 assumed"" " string_content ")) ;) }))) (expression_statement "pcVar11 = (char *)dcgettext(0,pcVar11,5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,pcVar11,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar11,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar11,5)" identifier (argument_list "(0,pcVar11,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "as_warn(pcVar11);" (call_expression "as_warn(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier ))) ;) (expression_statement "right._16_1_ = 2;" (assignment_expression "right._16_1_ = 2" (field_expression "right._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "right.X_add_number._0_4_ = 0;" (assignment_expression "right.X_add_number._0_4_ = 0" (field_expression "right.X_add_number._0_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "right.X_add_number._4_4_ = 0;" (assignment_expression "right.X_add_number._4_4_ = 0" (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "right.X_add_symbol = (symbolS *)0x0;" (assignment_expression "right.X_add_symbol = (symbolS *)0x0" (field_expression "right.X_add_symbol" identifier . field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "right.X_op_symbol = (symbolS *)0x0;" (assignment_expression "right.X_op_symbol = (symbolS *)0x0" (field_expression "right.X_op_symbol" identifier . field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (oVar15 != O_add) {\n        cVar8 = resultP->field_0x10;\n        if (oVar15 != O_subtract) goto LAB_000223e8;\n        if (cVar8 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        *(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n        bVar9 = resultP->field_0x11;\n        *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))\n        goto LAB_0002301d;\nLAB_000229b7:\n        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(oVar15 != O_add)" ( (binary_expression "oVar15 != O_add" identifier != identifier) )) (compound_statement "{\n        cVar8 = resultP->field_0x10;\n        if (oVar15 != O_subtract) goto LAB_000223e8;\n        if (cVar8 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        *(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n        bVar9 = resultP->field_0x11;\n        *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))\n        goto LAB_0002301d;\nLAB_000229b7:\n        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }" { (expression_statement "cVar8 = resultP->field_0x10;" (assignment_expression "cVar8 = resultP->field_0x10" identifier = (field_expression "resultP->field_0x10" identifier -> field_identifier)) ;) (if_statement "if (oVar15 != O_subtract) goto LAB_000223e8;" if (parenthesized_expression "(oVar15 != O_subtract)" ( (binary_expression "oVar15 != O_subtract" identifier != identifier) )) (goto_statement "goto LAB_000223e8;" goto statement_identifier ;)) (if_statement "if (cVar8 == '\x05') goto LAB_00022cb4;" if (parenthesized_expression "(cVar8 == '\x05')" ( (binary_expression "cVar8 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022cb4;" goto statement_identifier ;)) (labeled_statement "LAB_00022980:\n        uVar19 = (uint)resultP->X_add_number;" statement_identifier : (expression_statement "uVar19 = (uint)resultP->X_add_number;" (assignment_expression "uVar19 = (uint)resultP->X_add_number" identifier = (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))) ;)) (expression_statement "uVar21 = *(uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "uVar21 = *(uint *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) =\n             (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number)" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number)" (parenthesized_expression "(uVar21 - right.X_add_number._4_4_)" ( (binary_expression "uVar21 - right.X_add_number._4_4_" identifier - (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) )) - (call_expression "(uint)(uVar19 < (uint)right.X_add_number)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < (uint)right.X_add_number)" ( (binary_expression "uVar19 < (uint)right.X_add_number" identifier < (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) ))))) ;) (expression_statement "bVar9 = resultP->field_0x11;" (assignment_expression "bVar9 = resultP->field_0x11" identifier = (field_expression "resultP->field_0x11" identifier -> field_identifier)) ;) (expression_statement "*(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;" (assignment_expression "*(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (binary_expression "uVar19 - (uint)right.X_add_number" identifier - (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)))) ;) (expression_statement "bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;" (assignment_expression "bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1" identifier = (binary_expression "(bVar9 ^ right._17_1_) >> 1 & 1" (binary_expression "(bVar9 ^ right._17_1_) >> 1" (parenthesized_expression "(bVar9 ^ right._17_1_)" ( (binary_expression "bVar9 ^ right._17_1_" identifier ^ (field_expression "right._17_1_" identifier . field_identifier)) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))\n        goto LAB_0002301d;" if (parenthesized_expression "(uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))" ( (binary_expression "uVar21 < right.X_add_number._4_4_ ||\n            uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)" (binary_expression "uVar21 < right.X_add_number._4_4_" identifier < (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) || (binary_expression "uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)" (binary_expression "uVar21 - right.X_add_number._4_4_" identifier - (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) < (call_expression "(uint)(uVar19 < (uint)right.X_add_number)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < (uint)right.X_add_number)" ( (binary_expression "uVar19 < (uint)right.X_add_number" identifier < (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) ))))) )) (goto_statement "goto LAB_0002301d;" goto statement_identifier ;)) (labeled_statement "LAB_000229b7:\n        resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;" statement_identifier : (expression_statement "resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd;" (assignment_expression "resultP->field_0x11 = bVar16 * '\x02' | bVar9 & 0xfd" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "bVar16 * '\x02' | bVar9 & 0xfd" (binary_expression "bVar16 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar9 & 0xfd" identifier & number_literal))) ;)) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (if_statement "if (resultP->field_0x10 != '\x05') {\n        bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;\nLAB_00023225:\n        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(resultP->field_0x10 != '\x05')" ( (binary_expression "resultP->field_0x10 != '\x05'" (field_expression "resultP->field_0x10" identifier -> field_identifier) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;\nLAB_00023225:\n        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';\n        goto LAB_00022442;\n      }" { (expression_statement "bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;" (assignment_expression "bVar16 = (byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1" identifier = (binary_expression "(byte)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1" (binary_expression "(byte)(resultP->field_0x11 ^ right._17_1_) >> 1" (call_expression "(byte)(resultP->field_0x11 ^ right._17_1_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(resultP->field_0x11 ^ right._17_1_)" ( (binary_expression "resultP->field_0x11 ^ right._17_1_" (field_expression "resultP->field_0x11" identifier -> field_identifier) ^ (field_expression "right._17_1_" identifier . field_identifier)) ))) >> number_literal) & number_literal)) ;) (labeled_statement "LAB_00023225:\n        resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';" statement_identifier : (expression_statement "resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02';" (assignment_expression "resultP->field_0x11 = resultP->field_0x11 & 0xfd | bVar16 * '\x02'" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "resultP->field_0x11 & 0xfd | bVar16 * '\x02'" (binary_expression "resultP->field_0x11 & 0xfd" (field_expression "resultP->field_0x11" identifier -> field_identifier) & number_literal) | (binary_expression "bVar16 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;)) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (labeled_statement "LAB_00022c1a:\n      local_94._0_1_ = 0x13;" statement_identifier : (expression_statement "local_94._0_1_ = 0x13;" (assignment_expression "local_94._0_1_ = 0x13" (field_expression "local_94._0_1_" identifier . field_identifier) = number_literal) ;)) (goto_statement "goto LAB_00022406;" goto statement_identifier ;) })) (if_statement "if (oVar15 == O_add) {\n      if (right._16_1_ == '\x02') {\n        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_00023225;\nLAB_0002301d:\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar8 = resultP->field_0x10;\n      if (cVar8 != '\x02') goto LAB_000223f1;\n      if (right._16_1_ == '\x05') goto _L446;\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      bVar16 = resultP->field_0x11;\n      resultP->field_0x10 = right._16_1_;\n      resultP->X_add_symbol = right.X_add_symbol;\n      resultP->X_op_symbol = right.X_op_symbol;\n      uVar21 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number);\n      *(uint *)&resultP->X_add_number = uVar21 + (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n      bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n      if (uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)) {\n        bVar9 = bVar9 ^ 1;\n      }\n      resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      local_80 = paVar12;\n      goto LAB_000224e0;\n    }" if (parenthesized_expression "(oVar15 == O_add)" ( (binary_expression "oVar15 == O_add" identifier == identifier) )) (compound_statement "{\n      if (right._16_1_ == '\x02') {\n        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_00023225;\nLAB_0002301d:\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar8 = resultP->field_0x10;\n      if (cVar8 != '\x02') goto LAB_000223f1;\n      if (right._16_1_ == '\x05') goto _L446;\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      bVar16 = resultP->field_0x11;\n      resultP->field_0x10 = right._16_1_;\n      resultP->X_add_symbol = right.X_add_symbol;\n      resultP->X_op_symbol = right.X_op_symbol;\n      uVar21 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number);\n      *(uint *)&resultP->X_add_number = uVar21 + (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n      bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n      if (uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)) {\n        bVar9 = bVar9 ^ 1;\n      }\n      resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      local_80 = paVar12;\n      goto LAB_000224e0;\n    }" { (if_statement "if (right._16_1_ == '\x02') {\n        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_00023225;\nLAB_0002301d:\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(right._16_1_ == '\x02')" ( (binary_expression "right._16_1_ == '\x02'" (field_expression "right._16_1_" identifier . field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_00023225;\nLAB_0002301d:\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }" { (if_statement "if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;" if (parenthesized_expression "(resultP->field_0x10 == '\x05')" ( (binary_expression "resultP->field_0x10 == '\x05'" (field_expression "resultP->field_0x10" identifier -> field_identifier) == (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022c1a;" goto statement_identifier ;)) (expression_statement "uVar19 = (uint)resultP->X_add_number;" (assignment_expression "uVar19 = (uint)resultP->X_add_number" identifier = (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "uVar21 = *(uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "uVar21 = *(uint *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar9 = resultP->field_0x11;" (assignment_expression "bVar9 = resultP->field_0x11" identifier = (field_expression "resultP->field_0x11" identifier -> field_identifier)) ;) (expression_statement "uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);" (assignment_expression "uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number)" identifier = (binary_expression "uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number)" (binary_expression "uVar21 + right.X_add_number._4_4_" identifier + (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) + (cast_expression "(uint)CARRY4(uVar19,(uint)right.X_add_number)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar19,(uint)right.X_add_number)" identifier (argument_list "(uVar19,(uint)right.X_add_number)" ( identifier , (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)) )))))) ;) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) = uVar18;" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) = uVar18" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;" (assignment_expression "*(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (binary_expression "uVar19 + (uint)right.X_add_number" identifier + (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)))) ;) (expression_statement "bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;" (assignment_expression "bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1" identifier = (binary_expression "(bVar9 ^ right._17_1_) >> 1 & 1" (binary_expression "(bVar9 ^ right._17_1_) >> 1" (parenthesized_expression "(bVar9 ^ right._17_1_)" ( (binary_expression "bVar9 ^ right._17_1_" identifier ^ (field_expression "right._17_1_" identifier . field_identifier)) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_00023225;" if (parenthesized_expression "(uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)" ( (binary_expression "uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21" (binary_expression "uVar21 <= uVar18" identifier <= identifier) && (binary_expression "(uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21" (call_expression "(uint)(uVar19 + (uint)right.X_add_number < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 + (uint)right.X_add_number < uVar19)" ( (binary_expression "uVar19 + (uint)right.X_add_number < uVar19" (binary_expression "uVar19 + (uint)right.X_add_number" identifier + (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) < identifier) ))) <= (binary_expression "uVar18 - uVar21" identifier - identifier))) )) (goto_statement "goto LAB_00023225;" goto statement_identifier ;)) (labeled_statement "LAB_0002301d:\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;" statement_identifier : (expression_statement "resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;" (assignment_expression "resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "(bVar16 ^ 1) * '\x02' | bVar9 & 0xfd" (binary_expression "(bVar16 ^ 1) * '\x02'" (parenthesized_expression "(bVar16 ^ 1)" ( (binary_expression "bVar16 ^ 1" identifier ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar9 & 0xfd" identifier & number_literal))) ;)) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "cVar8 = resultP->field_0x10;" (assignment_expression "cVar8 = resultP->field_0x10" identifier = (field_expression "resultP->field_0x10" identifier -> field_identifier)) ;) (if_statement "if (cVar8 != '\x02') goto LAB_000223f1;" if (parenthesized_expression "(cVar8 != '\x02')" ( (binary_expression "cVar8 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto LAB_000223f1;" goto statement_identifier ;)) (if_statement "if (right._16_1_ == '\x05') goto _L446;" if (parenthesized_expression "(right._16_1_ == '\x05')" ( (binary_expression "right._16_1_ == '\x05'" (field_expression "right._16_1_" identifier . field_identifier) == (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto _L446;" goto statement_identifier ;)) (expression_statement "uVar19 = *(uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "uVar19 = *(uint *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar16 = resultP->field_0x11;" (assignment_expression "bVar16 = resultP->field_0x11" identifier = (field_expression "resultP->field_0x11" identifier -> field_identifier)) ;) (expression_statement "resultP->field_0x10 = right._16_1_;" (assignment_expression "resultP->field_0x10 = right._16_1_" (field_expression "resultP->field_0x10" identifier -> field_identifier) = (field_expression "right._16_1_" identifier . field_identifier)) ;) (expression_statement "resultP->X_add_symbol = right.X_add_symbol;" (assignment_expression "resultP->X_add_symbol = right.X_add_symbol" (field_expression "resultP->X_add_symbol" identifier -> field_identifier) = (field_expression "right.X_add_symbol" identifier . field_identifier)) ;) (expression_statement "resultP->X_op_symbol = right.X_op_symbol;" (assignment_expression "resultP->X_op_symbol = right.X_op_symbol" (field_expression "resultP->X_op_symbol" identifier -> field_identifier) = (field_expression "right.X_op_symbol" identifier . field_identifier)) ;) (expression_statement "uVar21 = (uint)resultP->X_add_number;" (assignment_expression "uVar21 = (uint)resultP->X_add_number" identifier = (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "uVar18 = uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number);" (assignment_expression "uVar18 = uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number)" identifier = (binary_expression "uVar19 + right.X_add_number._4_4_ + (uint)CARRY4(uVar21,(uint)right.X_add_number)" (binary_expression "uVar19 + right.X_add_number._4_4_" identifier + (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) + (cast_expression "(uint)CARRY4(uVar21,(uint)right.X_add_number)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar21,(uint)right.X_add_number)" identifier (argument_list "(uVar21,(uint)right.X_add_number)" ( identifier , (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)) )))))) ;) (expression_statement "*(uint *)&resultP->X_add_number = uVar21 + (uint)right.X_add_number;" (assignment_expression "*(uint *)&resultP->X_add_number = uVar21 + (uint)right.X_add_number" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (binary_expression "uVar21 + (uint)right.X_add_number" identifier + (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)))) ;) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) = uVar18;" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) = uVar18" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;" (assignment_expression "bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1" identifier = (binary_expression "(bVar16 ^ right._17_1_) >> 1 & 1" (binary_expression "(bVar16 ^ right._17_1_) >> 1" (parenthesized_expression "(bVar16 ^ right._17_1_)" ( (binary_expression "bVar16 ^ right._17_1_" identifier ^ (field_expression "right._17_1_" identifier . field_identifier)) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)) {\n        bVar9 = bVar9 ^ 1;\n      }" if (parenthesized_expression "(uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21))" ( (binary_expression "uVar18 < uVar19 || uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)" (binary_expression "uVar18 < uVar19" identifier < identifier) || (binary_expression "uVar18 - uVar19 < (uint)(uVar21 + (uint)right.X_add_number < uVar21)" (binary_expression "uVar18 - uVar19" identifier - identifier) < (call_expression "(uint)(uVar21 + (uint)right.X_add_number < uVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 + (uint)right.X_add_number < uVar21)" ( (binary_expression "uVar21 + (uint)right.X_add_number < uVar21" (binary_expression "uVar21 + (uint)right.X_add_number" identifier + (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) < identifier) ))))) )) (compound_statement "{\n        bVar9 = bVar9 ^ 1;\n      }" { (expression_statement "bVar9 = bVar9 ^ 1;" (assignment_expression "bVar9 = bVar9 ^ 1" identifier = (binary_expression "bVar9 ^ 1" identifier ^ number_literal)) ;) })) (expression_statement "resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;" (assignment_expression "resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "bVar9 * '\x02' | bVar16 & 0xfd" (binary_expression "bVar9 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar16 & 0xfd" identifier & number_literal))) ;) (expression_statement "local_80 = paVar12;" (assignment_expression "local_80 = paVar12" identifier = identifier) ;) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;) })) (expression_statement "cVar8 = resultP->field_0x10;" (assignment_expression "cVar8 = resultP->field_0x10" identifier = (field_expression "resultP->field_0x10" identifier -> field_identifier)) ;) (if_statement "if (oVar15 == O_subtract) {\n      if (right._16_1_ == '\x03') {\n        if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;\n        psVar10 = resultP->X_add_symbol;\n        if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))) {\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }\n        else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar8 = resultP->field_0x10;\n      }\n      if (right._16_1_ == '\x02') {\n        if (cVar8 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }" if (parenthesized_expression "(oVar15 == O_subtract)" ( (binary_expression "oVar15 == O_subtract" identifier == identifier) )) (compound_statement "{\n      if (right._16_1_ == '\x03') {\n        if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;\n        psVar10 = resultP->X_add_symbol;\n        if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))) {\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }\n        else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar8 = resultP->field_0x10;\n      }\n      if (right._16_1_ == '\x02') {\n        if (cVar8 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }" { (if_statement "if (right._16_1_ == '\x03') {\n        if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;\n        psVar10 = resultP->X_add_symbol;\n        if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))) {\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }\n        else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar8 = resultP->field_0x10;\n      }" if (parenthesized_expression "(right._16_1_ == '\x03')" ( (binary_expression "right._16_1_ == '\x03'" (field_expression "right._16_1_" identifier . field_identifier) == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n        if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;\n        psVar10 = resultP->X_add_symbol;\n        if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))) {\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }\n        else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar8 = resultP->field_0x10;\n      }" { (if_statement "if ((cVar8 != '\x03') || (paVar12 != paVar6)) goto LAB_000223e8;" if (parenthesized_expression "((cVar8 != '\x03') || (paVar12 != paVar6))" ( (binary_expression "(cVar8 != '\x03') || (paVar12 != paVar6)" (parenthesized_expression "(cVar8 != '\x03')" ( (binary_expression "cVar8 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) )) || (parenthesized_expression "(paVar12 != paVar6)" ( (binary_expression "paVar12 != paVar6" identifier != identifier) ))) )) (goto_statement "goto LAB_000223e8;" goto statement_identifier ;)) (expression_statement "psVar10 = resultP->X_add_symbol;" (assignment_expression "psVar10 = resultP->X_add_symbol" identifier = (field_expression "resultP->X_add_symbol" identifier -> field_identifier)) ;) (if_statement "if ((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))) {\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }\n        else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" if (parenthesized_expression "((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12))))" ( (binary_expression "(paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) ||\n           (((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))" (parenthesized_expression "(paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier == (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) || (parenthesized_expression "(((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)))" ( (parenthesized_expression "((paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12))" ( (binary_expression "(paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))\n            || (expr_section == paVar12)" (parenthesized_expression "(paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12))" ( (binary_expression "paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180) || (reg_section == paVar12)" (binary_expression "paVar12 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)" identifier == (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0x180)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal) )))) || (parenthesized_expression "(reg_section == paVar12)" ( (binary_expression "reg_section == paVar12" identifier == identifier) ))) )) || (parenthesized_expression "(expr_section == paVar12)" ( (binary_expression "expr_section == paVar12" identifier == identifier) ))) )) ))) )) (compound_statement "{\nLAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;\n        }" { (labeled_statement "LAB_00022c90:\n          if (right.X_add_symbol == psVar10) goto LAB_000234b2;" statement_identifier : (if_statement "if (right.X_add_symbol == psVar10) goto LAB_000234b2;" if (parenthesized_expression "(right.X_add_symbol == psVar10)" ( (binary_expression "right.X_add_symbol == psVar10" (field_expression "right.X_add_symbol" identifier . field_identifier) == identifier) )) (goto_statement "goto LAB_000234b2;" goto statement_identifier ;))) }) (else_clause "else {\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" else (compound_statement "{\n          iVar13 = S_FORCE_RELOC(psVar10,0);\n          if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);\n          frag1 = symbol_get_frag(resultP->X_add_symbol);\n          bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);\n          if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" { (expression_statement "iVar13 = S_FORCE_RELOC(psVar10,0);" (assignment_expression "iVar13 = S_FORCE_RELOC(psVar10,0)" identifier = (call_expression "S_FORCE_RELOC(psVar10,0)" identifier (argument_list "(psVar10,0)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)) {\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }" if (parenthesized_expression "((iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0))" ( (binary_expression "(iVar13 != 0) ||\n             (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)" (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0)" ( (comma_expression "iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), psVar10 = right.X_add_symbol,\n             iVar13 != 0" (assignment_expression "iVar13 = S_FORCE_RELOC(right.X_add_symbol,0)" identifier = (call_expression "S_FORCE_RELOC(right.X_add_symbol,0)" identifier (argument_list "(right.X_add_symbol,0)" ( (field_expression "right.X_add_symbol" identifier . field_identifier) , number_literal )))) , (comma_expression "psVar10 = right.X_add_symbol,\n             iVar13 != 0" (assignment_expression "psVar10 = right.X_add_symbol" identifier = (field_expression "right.X_add_symbol" identifier . field_identifier)) , (binary_expression "iVar13 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n            psVar10 = resultP->X_add_symbol;\n            goto LAB_00022c90;\n          }" { (expression_statement "psVar10 = resultP->X_add_symbol;" (assignment_expression "psVar10 = resultP->X_add_symbol" identifier = (field_expression "resultP->X_add_symbol" identifier -> field_identifier)) ;) (goto_statement "goto LAB_00022c90;" goto statement_identifier ;) })) (labeled_statement "LAB_000234b2:\n          frag2 = symbol_get_frag(psVar10);" statement_identifier : (expression_statement "frag2 = symbol_get_frag(psVar10);" (assignment_expression "frag2 = symbol_get_frag(psVar10)" identifier = (call_expression "symbol_get_frag(psVar10)" identifier (argument_list "(psVar10)" ( identifier )))) ;)) (expression_statement "frag1 = symbol_get_frag(resultP->X_add_symbol);" (assignment_expression "frag1 = symbol_get_frag(resultP->X_add_symbol)" identifier = (call_expression "symbol_get_frag(resultP->X_add_symbol)" identifier (argument_list "(resultP->X_add_symbol)" ( (field_expression "resultP->X_add_symbol" identifier -> field_identifier) )))) ;) (expression_statement "bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off);" (assignment_expression "bVar14 = frag_offset_fixed_p(frag1,frag2,&frag_off)" identifier = (call_expression "frag_offset_fixed_p(frag1,frag2,&frag_off)" identifier (argument_list "(frag1,frag2,&frag_off)" ( identifier , identifier , (pointer_expression "&frag_off" & identifier) )))) ;) (if_statement "if (bVar14 != 0) {\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }" if (parenthesized_expression "(bVar14 != 0)" ( (binary_expression "bVar14 != 0" identifier != number_literal) )) (compound_statement "{\n            vVar24 = S_GET_VALUE(resultP->X_add_symbol);\n            vVar25 = S_GET_VALUE(right.X_add_symbol);\n            uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n            uVar21 = (uint)resultP->X_add_number;\n            pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);\n            uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n            bVar16 = resultP->field_0x11;\n            *(char **)&resultP->X_add_number = pcVar11;\n            bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;\n            if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            uVar19 = (int)pcVar11 - (int)(char *)frag_off;\n            uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);\n            *(uint *)&resultP->X_add_number = uVar19;\n            *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n            if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }\n            lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);\n            uVar18 = (uint)((ulonglong)lVar5 >> 0x20);\n            resultP->X_add_number = lVar5;\n            bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);\n            if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }\n            resultP->field_0x10 = 2;\n            resultP->X_add_symbol = (symbolS *)0x0;\n            resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            goto LAB_000224e0;\n          }" { (expression_statement "vVar24 = S_GET_VALUE(resultP->X_add_symbol);" (assignment_expression "vVar24 = S_GET_VALUE(resultP->X_add_symbol)" identifier = (call_expression "S_GET_VALUE(resultP->X_add_symbol)" identifier (argument_list "(resultP->X_add_symbol)" ( (field_expression "resultP->X_add_symbol" identifier -> field_identifier) )))) ;) (expression_statement "vVar25 = S_GET_VALUE(right.X_add_symbol);" (assignment_expression "vVar25 = S_GET_VALUE(right.X_add_symbol)" identifier = (call_expression "S_GET_VALUE(right.X_add_symbol)" identifier (argument_list "(right.X_add_symbol)" ( (field_expression "right.X_add_symbol" identifier . field_identifier) )))) ;) (expression_statement "uVar19 = *(uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "uVar19 = *(uint *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar21 = (uint)resultP->X_add_number;" (assignment_expression "uVar21 = (uint)resultP->X_add_number" identifier = (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "pcVar11 = (char *)(uVar21 - (uint)right.X_add_number);" (assignment_expression "pcVar11 = (char *)(uVar21 - (uint)right.X_add_number)" identifier = (cast_expression "(char *)(uVar21 - (uint)right.X_add_number)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar21 - (uint)right.X_add_number)" ( (binary_expression "uVar21 - (uint)right.X_add_number" identifier - (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) )))) ;) (expression_statement "uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)\n            ;" (assignment_expression "uVar18 = (uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)" identifier = (binary_expression "(uVar19 - right.X_add_number._4_4_) - (uint)(uVar21 < (uint)right.X_add_number)" (parenthesized_expression "(uVar19 - right.X_add_number._4_4_)" ( (binary_expression "uVar19 - right.X_add_number._4_4_" identifier - (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) )) - (call_expression "(uint)(uVar21 < (uint)right.X_add_number)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 < (uint)right.X_add_number)" ( (binary_expression "uVar21 < (uint)right.X_add_number" identifier < (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) ))))) ;) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) = uVar18;" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) = uVar18" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "bVar16 = resultP->field_0x11;" (assignment_expression "bVar16 = resultP->field_0x11" identifier = (field_expression "resultP->field_0x11" identifier -> field_identifier)) ;) (expression_statement "*(char **)&resultP->X_add_number = pcVar11;" (assignment_expression "*(char **)&resultP->X_add_number = pcVar11" (pointer_expression "*(char **)&resultP->X_add_number" * (cast_expression "(char **)&resultP->X_add_number" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = identifier) ;) (expression_statement "bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1;" (assignment_expression "bVar9 = (bVar16 ^ right._17_1_) >> 1 & 1" identifier = (binary_expression "(bVar16 ^ right._17_1_) >> 1 & 1" (binary_expression "(bVar16 ^ right._17_1_) >> 1" (parenthesized_expression "(bVar16 ^ right._17_1_)" ( (binary_expression "bVar16 ^ right._17_1_" identifier ^ (field_expression "right._17_1_" identifier . field_identifier)) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)) {\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }\n            else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }" if (parenthesized_expression "(uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number))" ( (binary_expression "uVar19 < right.X_add_number._4_4_ ||\n                uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)" (binary_expression "uVar19 < right.X_add_number._4_4_" identifier < (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) || (binary_expression "uVar19 - right.X_add_number._4_4_ < (uint)(uVar21 < (uint)right.X_add_number)" (binary_expression "uVar19 - right.X_add_number._4_4_" identifier - (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) < (call_expression "(uint)(uVar21 < (uint)right.X_add_number)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 < (uint)right.X_add_number)" ( (binary_expression "uVar21 < (uint)right.X_add_number" identifier < (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) ))))) )) (compound_statement "{\n              bVar9 = bVar9 ^ 1;\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }" { (expression_statement "bVar9 = bVar9 ^ 1;" (assignment_expression "bVar9 = bVar9 ^ 1" identifier = (binary_expression "bVar9 ^ 1" identifier ^ number_literal)) ;) (expression_statement "resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';" (assignment_expression "resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02'" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "bVar16 & 0xfd | bVar9 * '\x02'" (binary_expression "bVar16 & 0xfd" identifier & number_literal) | (binary_expression "bVar9 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) }) (else_clause "else {\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }" else (compound_statement "{\n              resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';\n            }" { (expression_statement "resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';" (assignment_expression "resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02'" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "bVar16 & 0xfd | bVar9 * '\x02'" (binary_expression "bVar16 & 0xfd" identifier & number_literal) | (binary_expression "bVar9 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) }))) (expression_statement "uVar19 = (int)pcVar11 - (int)(char *)frag_off;" (assignment_expression "uVar19 = (int)pcVar11 - (int)(char *)frag_off" identifier = (binary_expression "(int)pcVar11 - (int)(char *)frag_off" (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(char *)frag_off" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char *)frag_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off);" (assignment_expression "uVar21 = (uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off)" identifier = (binary_expression "(uVar18 - frag_off._4_4_) - (uint)(pcVar11 < (char *)frag_off)" (parenthesized_expression "(uVar18 - frag_off._4_4_)" ( (binary_expression "uVar18 - frag_off._4_4_" identifier - (field_expression "frag_off._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)(pcVar11 < (char *)frag_off)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar11 < (char *)frag_off)" ( (binary_expression "pcVar11 < (char *)frag_off" identifier < (cast_expression "(char *)frag_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "*(uint *)&resultP->X_add_number = uVar19;" (assignment_expression "*(uint *)&resultP->X_add_number = uVar19" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) = uVar21;" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) = uVar21" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (if_statement "if (uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)) {\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }\n            else {\n              bVar16 = resultP->field_0x11;\n            }" if (parenthesized_expression "(uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off))" ( (binary_expression "uVar18 < frag_off._4_4_ ||\n                uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)" (binary_expression "uVar18 < frag_off._4_4_" identifier < (field_expression "frag_off._4_4_" identifier . field_identifier)) || (binary_expression "uVar18 - frag_off._4_4_ < (uint)(pcVar11 < (char *)frag_off)" (binary_expression "uVar18 - frag_off._4_4_" identifier - (field_expression "frag_off._4_4_" identifier . field_identifier)) < (call_expression "(uint)(pcVar11 < (char *)frag_off)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar11 < (char *)frag_off)" ( (binary_expression "pcVar11 < (char *)frag_off" identifier < (cast_expression "(char *)frag_off" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ))))) )) (compound_statement "{\n              bVar9 = bVar9 ^ 1;\n              bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';\n              resultP->field_0x11 = bVar16;\n            }" { (expression_statement "bVar9 = bVar9 ^ 1;" (assignment_expression "bVar9 = bVar9 ^ 1" identifier = (binary_expression "bVar9 ^ 1" identifier ^ number_literal)) ;) (expression_statement "bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02';" (assignment_expression "bVar16 = resultP->field_0x11 & 0xfd | bVar9 * '\x02'" identifier = (binary_expression "resultP->field_0x11 & 0xfd | bVar9 * '\x02'" (binary_expression "resultP->field_0x11 & 0xfd" (field_expression "resultP->field_0x11" identifier -> field_identifier) & number_literal) | (binary_expression "bVar9 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) (expression_statement "resultP->field_0x11 = bVar16;" (assignment_expression "resultP->field_0x11 = bVar16" (field_expression "resultP->field_0x11" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n              bVar16 = resultP->field_0x11;\n            }" else (compound_statement "{\n              bVar16 = resultP->field_0x11;\n            }" { (expression_statement "bVar16 = resultP->field_0x11;" (assignment_expression "bVar16 = resultP->field_0x11" identifier = (field_expression "resultP->field_0x11" identifier -> field_identifier)) ;) }))) (expression_statement "lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19);" (assignment_expression "lVar5 = (vVar24 - vVar25) + CONCAT44(uVar21,uVar19)" identifier = (binary_expression "(vVar24 - vVar25) + CONCAT44(uVar21,uVar19)" (parenthesized_expression "(vVar24 - vVar25)" ( (binary_expression "vVar24 - vVar25" identifier - identifier) )) + (call_expression "CONCAT44(uVar21,uVar19)" identifier (argument_list "(uVar21,uVar19)" ( identifier , identifier ))))) ;) (expression_statement "uVar18 = (uint)((ulonglong)lVar5 >> 0x20);" (assignment_expression "uVar18 = (uint)((ulonglong)lVar5 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar5 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar5 >> 0x20)" ( (binary_expression "(ulonglong)lVar5 >> 0x20" (cast_expression "(ulonglong)lVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "resultP->X_add_number = lVar5;" (assignment_expression "resultP->X_add_number = lVar5" (field_expression "resultP->X_add_number" identifier -> field_identifier) = identifier) ;) (expression_statement "bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f);" (assignment_expression "bVar9 = bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f)" identifier = (binary_expression "bVar9 ^ (byte)(vVar24 - vVar25 >> 0x3f)" identifier ^ (call_expression "(byte)(vVar24 - vVar25 >> 0x3f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(vVar24 - vVar25 >> 0x3f)" ( (binary_expression "vVar24 - vVar25 >> 0x3f" (binary_expression "vVar24 - vVar25" identifier - identifier) >> number_literal) ))))) ;) (if_statement "if (uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)) {\n              bVar9 = bVar9 ^ 1;\n            }" if (parenthesized_expression "(uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19))" ( (binary_expression "uVar18 < uVar21 || uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)" (binary_expression "uVar18 < uVar21" identifier < identifier) || (binary_expression "uVar18 - uVar21 < (uint)((uint)lVar5 < uVar19)" (binary_expression "uVar18 - uVar21" identifier - identifier) < (call_expression "(uint)((uint)lVar5 < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar5 < uVar19)" ( (binary_expression "(uint)lVar5 < uVar19" (cast_expression "(uint)lVar5" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) )) (compound_statement "{\n              bVar9 = bVar9 ^ 1;\n            }" { (expression_statement "bVar9 = bVar9 ^ 1;" (assignment_expression "bVar9 = bVar9 ^ 1" identifier = (binary_expression "bVar9 ^ 1" identifier ^ number_literal)) ;) })) (expression_statement "resultP->field_0x10 = 2;" (assignment_expression "resultP->field_0x10 = 2" (field_expression "resultP->field_0x10" identifier -> field_identifier) = number_literal) ;) (expression_statement "resultP->X_add_symbol = (symbolS *)0x0;" (assignment_expression "resultP->X_add_symbol = (symbolS *)0x0" (field_expression "resultP->X_add_symbol" identifier -> field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02';" (assignment_expression "resultP->field_0x11 = bVar16 & 0xfd | bVar9 * '\x02'" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "bVar16 & 0xfd | bVar9 * '\x02'" (binary_expression "bVar16 & 0xfd" identifier & number_literal) | (binary_expression "bVar9 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;) })) }))) (expression_statement "cVar8 = resultP->field_0x10;" (assignment_expression "cVar8 = resultP->field_0x10" identifier = (field_expression "resultP->field_0x10" identifier -> field_identifier)) ;) })) (if_statement "if (right._16_1_ == '\x02') {\n        if (cVar8 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }" if (parenthesized_expression "(right._16_1_ == '\x02')" ( (binary_expression "right._16_1_ == '\x02'" (field_expression "right._16_1_" identifier . field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n        if (cVar8 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }" { (if_statement "if (cVar8 != '\x05') goto LAB_00022980;" if (parenthesized_expression "(cVar8 != '\x05')" ( (binary_expression "cVar8 != '\x05'" identifier != (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022980;" goto statement_identifier ;)) (labeled_statement "LAB_00022cb4:\n        local_94._0_1_ = 0x14;" statement_identifier : (expression_statement "local_94._0_1_ = 0x14;" (assignment_expression "local_94._0_1_ = 0x14" (field_expression "local_94._0_1_" identifier . field_identifier) = number_literal) ;)) (goto_statement "goto LAB_00022406;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000223e8:\n    uVar21 = right.X_add_number._4_4_;" statement_identifier : (expression_statement "uVar21 = right.X_add_number._4_4_;" (assignment_expression "uVar21 = right.X_add_number._4_4_" identifier = (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) ;)) (expression_statement "uVar19 = (uint)right.X_add_number;" (assignment_expression "uVar19 = (uint)right.X_add_number" identifier = (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) ;) (if_statement "if (cVar8 != '\x02') {\nLAB_000223f1:\n      if ((cVar8 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;\n      if (1 < oVar15 - O_add) {\n        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;\n        resultP->field_0x10 = (undefined1)local_94;\n        resultP->X_op_symbol = right.X_add_symbol;\n        goto LAB_00022442;\n      }\n      resultP->field_0x10 = (undefined1)local_94;\n      resultP->X_op_symbol = right.X_add_symbol;\n      if (oVar15 == O_add) {\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_000229b7;\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n      bVar16 = resultP->field_0x11;\n      bVar9 = (right._17_1_ ^ bVar16) >> 1 & 1;\n      if (uVar21 < right.X_add_number._4_4_ ||\n          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)) {\n        resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';\n      }\n      else {\n        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      }\n      puVar20 = PTR__bfd_std_section_0007ffb0;\n      if (paVar12 != paVar6) goto LAB_00022450;\n      if (paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)) {\nLAB_00023318:\n        local_80 = (segT)(puVar20 + 0x180);\n        goto LAB_000224e0;\n      }\n      if (paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n        if ((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }" if (parenthesized_expression "(cVar8 != '\x02')" ( (binary_expression "cVar8 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000223f1:\n      if ((cVar8 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;\n      if (1 < oVar15 - O_add) {\n        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;\n        resultP->field_0x10 = (undefined1)local_94;\n        resultP->X_op_symbol = right.X_add_symbol;\n        goto LAB_00022442;\n      }\n      resultP->field_0x10 = (undefined1)local_94;\n      resultP->X_op_symbol = right.X_add_symbol;\n      if (oVar15 == O_add) {\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_000229b7;\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);\n      bVar16 = resultP->field_0x11;\n      bVar9 = (right._17_1_ ^ bVar16) >> 1 & 1;\n      if (uVar21 < right.X_add_number._4_4_ ||\n          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)) {\n        resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';\n      }\n      else {\n        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      }\n      puVar20 = PTR__bfd_std_section_0007ffb0;\n      if (paVar12 != paVar6) goto LAB_00022450;\n      if (paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)) {\nLAB_00023318:\n        local_80 = (segT)(puVar20 + 0x180);\n        goto LAB_000224e0;\n      }\n      if (paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n        if ((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }" { (labeled_statement "LAB_000223f1:\n      if ((cVar8 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;" statement_identifier : (if_statement "if ((cVar8 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;" if (parenthesized_expression "((cVar8 != '\x03') || (right._16_1_ != '\x03'))" ( (binary_expression "(cVar8 != '\x03') || (right._16_1_ != '\x03')" (parenthesized_expression "(cVar8 != '\x03')" ( (binary_expression "cVar8 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) )) || (parenthesized_expression "(right._16_1_ != '\x03')" ( (binary_expression "right._16_1_ != '\x03'" (field_expression "right._16_1_" identifier . field_identifier) != (char_literal "'\x03'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00022406;" goto statement_identifier ;))) (if_statement "if (1 < oVar15 - O_add) {\n        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;\n        resultP->field_0x10 = (undefined1)local_94;\n        resultP->X_op_symbol = right.X_add_symbol;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(1 < oVar15 - O_add)" ( (binary_expression "1 < oVar15 - O_add" number_literal < (binary_expression "oVar15 - O_add" identifier - identifier)) )) (compound_statement "{\n        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;\n        resultP->field_0x10 = (undefined1)local_94;\n        resultP->X_op_symbol = right.X_add_symbol;\n        goto LAB_00022442;\n      }" { (if_statement "if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)) goto LAB_00022406;" if (parenthesized_expression "((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0))" ( (binary_expression "(*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||\n            ((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)" (parenthesized_expression "(*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0)" ( (binary_expression "*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0" (binary_expression "*(int *)((int)&resultP->X_add_number + 4) != 0" (pointer_expression "*(int *)((int)&resultP->X_add_number + 4)" * (cast_expression "(int *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) != number_literal) || (binary_expression "right.X_add_number._4_4_ != 0" (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier) != number_literal)) )) || (parenthesized_expression "((int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0)" ( (binary_expression "(int)resultP->X_add_number != 0 || (uint)right.X_add_number != 0" (binary_expression "(int)resultP->X_add_number != 0" (cast_expression "(int)resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) != number_literal) || (binary_expression "(uint)right.X_add_number != 0" (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)) != number_literal)) ))) )) (goto_statement "goto LAB_00022406;" goto statement_identifier ;)) (expression_statement "resultP->field_0x10 = (undefined1)local_94;" (assignment_expression "resultP->field_0x10 = (undefined1)local_94" (field_expression "resultP->field_0x10" identifier -> field_identifier) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "resultP->X_op_symbol = right.X_add_symbol;" (assignment_expression "resultP->X_op_symbol = right.X_add_symbol" (field_expression "resultP->X_op_symbol" identifier -> field_identifier) = (field_expression "right.X_add_symbol" identifier . field_identifier)) ;) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "resultP->field_0x10 = (undefined1)local_94;" (assignment_expression "resultP->field_0x10 = (undefined1)local_94" (field_expression "resultP->field_0x10" identifier -> field_identifier) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "resultP->X_op_symbol = right.X_add_symbol;" (assignment_expression "resultP->X_op_symbol = right.X_add_symbol" (field_expression "resultP->X_op_symbol" identifier -> field_identifier) = (field_expression "right.X_add_symbol" identifier . field_identifier)) ;) (if_statement "if (oVar15 == O_add) {\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_000229b7;\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(oVar15 == O_add)" ( (binary_expression "oVar15 == O_add" identifier == identifier) )) (compound_statement "{\n        uVar19 = (uint)resultP->X_add_number;\n        uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n        bVar9 = resultP->field_0x11;\n        uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);\n        *(uint *)((int)&resultP->X_add_number + 4) = uVar18;\n        *(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;\n        bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;\n        if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_000229b7;\n        resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;\n        goto LAB_00022442;\n      }" { (expression_statement "uVar19 = (uint)resultP->X_add_number;" (assignment_expression "uVar19 = (uint)resultP->X_add_number" identifier = (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "uVar21 = *(uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "uVar21 = *(uint *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar9 = resultP->field_0x11;" (assignment_expression "bVar9 = resultP->field_0x11" identifier = (field_expression "resultP->field_0x11" identifier -> field_identifier)) ;) (expression_statement "uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number);" (assignment_expression "uVar18 = uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number)" identifier = (binary_expression "uVar21 + right.X_add_number._4_4_ + (uint)CARRY4(uVar19,(uint)right.X_add_number)" (binary_expression "uVar21 + right.X_add_number._4_4_" identifier + (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) + (cast_expression "(uint)CARRY4(uVar19,(uint)right.X_add_number)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar19,(uint)right.X_add_number)" identifier (argument_list "(uVar19,(uint)right.X_add_number)" ( identifier , (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)) )))))) ;) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) = uVar18;" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) = uVar18" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number;" (assignment_expression "*(uint *)&resultP->X_add_number = uVar19 + (uint)right.X_add_number" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (binary_expression "uVar19 + (uint)right.X_add_number" identifier + (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)))) ;) (expression_statement "bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1;" (assignment_expression "bVar16 = (bVar9 ^ right._17_1_) >> 1 & 1" identifier = (binary_expression "(bVar9 ^ right._17_1_) >> 1 & 1" (binary_expression "(bVar9 ^ right._17_1_) >> 1" (parenthesized_expression "(bVar9 ^ right._17_1_)" ( (binary_expression "bVar9 ^ right._17_1_" identifier ^ (field_expression "right._17_1_" identifier . field_identifier)) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)\n        goto LAB_000229b7;" if (parenthesized_expression "(uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21)" ( (binary_expression "uVar21 <= uVar18 &&\n            (uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21" (binary_expression "uVar21 <= uVar18" identifier <= identifier) && (binary_expression "(uint)(uVar19 + (uint)right.X_add_number < uVar19) <= uVar18 - uVar21" (call_expression "(uint)(uVar19 + (uint)right.X_add_number < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 + (uint)right.X_add_number < uVar19)" ( (binary_expression "uVar19 + (uint)right.X_add_number < uVar19" (binary_expression "uVar19 + (uint)right.X_add_number" identifier + (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) < identifier) ))) <= (binary_expression "uVar18 - uVar21" identifier - identifier))) )) (goto_statement "goto LAB_000229b7;" goto statement_identifier ;)) (expression_statement "resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd;" (assignment_expression "resultP->field_0x11 = (bVar16 ^ 1) * '\x02' | bVar9 & 0xfd" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "(bVar16 ^ 1) * '\x02' | bVar9 & 0xfd" (binary_expression "(bVar16 ^ 1) * '\x02'" (parenthesized_expression "(bVar16 ^ 1)" ( (binary_expression "bVar16 ^ 1" identifier ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar9 & 0xfd" identifier & number_literal))) ;) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "uVar19 = (uint)resultP->X_add_number;" (assignment_expression "uVar19 = (uint)resultP->X_add_number" identifier = (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "uVar21 = *(uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "uVar21 = *(uint *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number;" (assignment_expression "*(uint *)&resultP->X_add_number = uVar19 - (uint)right.X_add_number" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (binary_expression "uVar19 - (uint)right.X_add_number" identifier - (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)))) ;) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) =\n           (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number);" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) =\n           (uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number)" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(uVar21 - right.X_add_number._4_4_) - (uint)(uVar19 < (uint)right.X_add_number)" (parenthesized_expression "(uVar21 - right.X_add_number._4_4_)" ( (binary_expression "uVar21 - right.X_add_number._4_4_" identifier - (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) )) - (call_expression "(uint)(uVar19 < (uint)right.X_add_number)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < (uint)right.X_add_number)" ( (binary_expression "uVar19 < (uint)right.X_add_number" identifier < (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) ))))) ;) (expression_statement "bVar16 = resultP->field_0x11;" (assignment_expression "bVar16 = resultP->field_0x11" identifier = (field_expression "resultP->field_0x11" identifier -> field_identifier)) ;) (expression_statement "bVar9 = (right._17_1_ ^ bVar16) >> 1 & 1;" (assignment_expression "bVar9 = (right._17_1_ ^ bVar16) >> 1 & 1" identifier = (binary_expression "(right._17_1_ ^ bVar16) >> 1 & 1" (binary_expression "(right._17_1_ ^ bVar16) >> 1" (parenthesized_expression "(right._17_1_ ^ bVar16)" ( (binary_expression "right._17_1_ ^ bVar16" (field_expression "right._17_1_" identifier . field_identifier) ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar21 < right.X_add_number._4_4_ ||\n          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)) {\n        resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';\n      }\n      else {\n        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      }" if (parenthesized_expression "(uVar21 < right.X_add_number._4_4_ ||\n          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number))" ( (binary_expression "uVar21 < right.X_add_number._4_4_ ||\n          uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)" (binary_expression "uVar21 < right.X_add_number._4_4_" identifier < (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) || (binary_expression "uVar21 - right.X_add_number._4_4_ < (uint)(uVar19 < (uint)right.X_add_number)" (binary_expression "uVar21 - right.X_add_number._4_4_" identifier - (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) < (call_expression "(uint)(uVar19 < (uint)right.X_add_number)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < (uint)right.X_add_number)" ( (binary_expression "uVar19 < (uint)right.X_add_number" identifier < (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) ))))) )) (compound_statement "{\n        resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';\n      }" { (expression_statement "resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02';" (assignment_expression "resultP->field_0x11 = bVar16 & 0xfd | (bVar9 ^ 1) * '\x02'" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "bVar16 & 0xfd | (bVar9 ^ 1) * '\x02'" (binary_expression "bVar16 & 0xfd" identifier & number_literal) | (binary_expression "(bVar9 ^ 1) * '\x02'" (parenthesized_expression "(bVar9 ^ 1)" ( (binary_expression "bVar9 ^ 1" identifier ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')))) ;) }) (else_clause "else {\n        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      }" else (compound_statement "{\n        resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;\n      }" { (expression_statement "resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd;" (assignment_expression "resultP->field_0x11 = bVar9 * '\x02' | bVar16 & 0xfd" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "bVar9 * '\x02' | bVar16 & 0xfd" (binary_expression "bVar9 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar16 & 0xfd" identifier & number_literal))) ;) }))) (expression_statement "puVar20 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar20 = PTR__bfd_std_section_0007ffb0" identifier = identifier) ;) (if_statement "if (paVar12 != paVar6) goto LAB_00022450;" if (parenthesized_expression "(paVar12 != paVar6)" ( (binary_expression "paVar12 != paVar6" identifier != identifier) )) (goto_statement "goto LAB_00022450;" goto statement_identifier ;)) (if_statement "if (paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)) {\nLAB_00023318:\n        local_80 = (segT)(puVar20 + 0x180);\n        goto LAB_000224e0;\n      }" if (parenthesized_expression "(paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180))" ( (binary_expression "paVar6 == (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)" identifier == (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0x180)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal) )))) )) (compound_statement "{\nLAB_00023318:\n        local_80 = (segT)(puVar20 + 0x180);\n        goto LAB_000224e0;\n      }" { (labeled_statement "LAB_00023318:\n        local_80 = (segT)(puVar20 + 0x180);" statement_identifier : (expression_statement "local_80 = (segT)(puVar20 + 0x180);" (assignment_expression "local_80 = (segT)(puVar20 + 0x180)" identifier = (call_expression "(segT)(puVar20 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(puVar20 + 0x180)" ( (binary_expression "puVar20 + 0x180" identifier + number_literal) )))) ;)) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;) })) (if_statement "if (paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)) {\n        if ((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }" if (parenthesized_expression "(paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0))" ( (binary_expression "paVar6 != (segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" identifier != (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal) )))) )) (compound_statement "{\n        if ((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }" { (if_statement "if ((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)) goto LAB_000224e0;" if (parenthesized_expression "((((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0))" ( (binary_expression "(((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)) ||\n           (iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)" (parenthesized_expression "(((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0))" ( (binary_expression "((reg_section == paVar6) || (expr_section == paVar6)) ||\n            (iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)" (parenthesized_expression "((reg_section == paVar6) || (expr_section == paVar6))" ( (binary_expression "(reg_section == paVar6) || (expr_section == paVar6)" (parenthesized_expression "(reg_section == paVar6)" ( (binary_expression "reg_section == paVar6" identifier == identifier) )) || (parenthesized_expression "(expr_section == paVar6)" ( (binary_expression "expr_section == paVar6" identifier == identifier) ))) )) || (parenthesized_expression "(iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0)" ( (comma_expression "iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0), iVar13 != 0" (assignment_expression "iVar13 = S_FORCE_RELOC(resultP->X_add_symbol,0)" identifier = (call_expression "S_FORCE_RELOC(resultP->X_add_symbol,0)" identifier (argument_list "(resultP->X_add_symbol,0)" ( (field_expression "resultP->X_add_symbol" identifier -> field_identifier) , number_literal )))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0)" ( (comma_expression "iVar13 = S_FORCE_RELOC(right.X_add_symbol,0), iVar13 != 0" (assignment_expression "iVar13 = S_FORCE_RELOC(right.X_add_symbol,0)" identifier = (call_expression "S_FORCE_RELOC(right.X_add_symbol,0)" identifier (argument_list "(right.X_add_symbol,0)" ( (field_expression "right.X_add_symbol" identifier . field_identifier) , number_literal )))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;)) (goto_statement "goto LAB_00023318;" goto statement_identifier ;) })) (goto_statement "goto LAB_000228f0;" goto statement_identifier ;) })) (if_statement "if (right._16_1_ != '\x02') {\n_L446:\nLAB_00022406:\n      psVar10 = make_expr_symbol(resultP);\n      resultP->X_add_symbol = psVar10;\n      psVar10 = make_expr_symbol(&right);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      resultP->X_op_symbol = psVar10;\n      resultP->field_0x10 = (undefined1)local_94;\n      bVar16 = resultP->field_0x11;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->field_0x11 = bVar16 & 0xfc | 1;\n      goto LAB_00022442;\n    }" if (parenthesized_expression "(right._16_1_ != '\x02')" ( (binary_expression "right._16_1_ != '\x02'" (field_expression "right._16_1_" identifier . field_identifier) != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n_L446:\nLAB_00022406:\n      psVar10 = make_expr_symbol(resultP);\n      resultP->X_add_symbol = psVar10;\n      psVar10 = make_expr_symbol(&right);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      resultP->X_op_symbol = psVar10;\n      resultP->field_0x10 = (undefined1)local_94;\n      bVar16 = resultP->field_0x11;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      resultP->field_0x11 = bVar16 & 0xfc | 1;\n      goto LAB_00022442;\n    }" { (labeled_statement "_L446:\nLAB_00022406:\n      psVar10 = make_expr_symbol(resultP);" statement_identifier : (labeled_statement "LAB_00022406:\n      psVar10 = make_expr_symbol(resultP);" statement_identifier : (expression_statement "psVar10 = make_expr_symbol(resultP);" (assignment_expression "psVar10 = make_expr_symbol(resultP)" identifier = (call_expression "make_expr_symbol(resultP)" identifier (argument_list "(resultP)" ( identifier )))) ;))) (expression_statement "resultP->X_add_symbol = psVar10;" (assignment_expression "resultP->X_add_symbol = psVar10" (field_expression "resultP->X_add_symbol" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar10 = make_expr_symbol(&right);" (assignment_expression "psVar10 = make_expr_symbol(&right)" identifier = (call_expression "make_expr_symbol(&right)" identifier (argument_list "(&right)" ( (pointer_expression "&right" & identifier) )))) ;) (expression_statement "*(undefined4 *)&resultP->X_add_number = 0;" (assignment_expression "*(undefined4 *)&resultP->X_add_number = 0" (pointer_expression "*(undefined4 *)&resultP->X_add_number" * (cast_expression "(undefined4 *)&resultP->X_add_number" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "resultP->X_op_symbol = psVar10;" (assignment_expression "resultP->X_op_symbol = psVar10" (field_expression "resultP->X_op_symbol" identifier -> field_identifier) = identifier) ;) (expression_statement "resultP->field_0x10 = (undefined1)local_94;" (assignment_expression "resultP->field_0x10 = (undefined1)local_94" (field_expression "resultP->field_0x10" identifier -> field_identifier) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "bVar16 = resultP->field_0x11;" (assignment_expression "bVar16 = resultP->field_0x11" identifier = (field_expression "resultP->field_0x11" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)&resultP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&resultP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&resultP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "resultP->field_0x11 = bVar16 & 0xfc | 1;" (assignment_expression "resultP->field_0x11 = bVar16 & 0xfc | 1" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "bVar16 & 0xfc | 1" (binary_expression "bVar16 & 0xfc" identifier & number_literal) | number_literal)) ;) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "local_5c = (uint)right.X_add_number;" (assignment_expression "local_5c = (uint)right.X_add_number" identifier = (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) ;) (expression_statement "local_58 = right.X_add_number._4_4_;" (assignment_expression "local_58 = right.X_add_number._4_4_" identifier = (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (right.X_add_number._4_4_ == 0 && (uint)right.X_add_number == 0) {\n      if (oVar15 - O_divide < 2) {\n        pcVar11 = (char *)dcgettext(0,"division by zero",5);\n        as_warn(pcVar11);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&\n            (oVar15 - O_left_shift < 2)) {\n      pcVar11 = (char *)dcgettext(0,"shift count",5);\n      as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" if (parenthesized_expression "(right.X_add_number._4_4_ == 0 && (uint)right.X_add_number == 0)" ( (binary_expression "right.X_add_number._4_4_ == 0 && (uint)right.X_add_number == 0" (binary_expression "right.X_add_number._4_4_ == 0" (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier) == number_literal) && (binary_expression "(uint)right.X_add_number == 0" (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier)) == number_literal)) )) (compound_statement "{\n      if (oVar15 - O_divide < 2) {\n        pcVar11 = (char *)dcgettext(0,"division by zero",5);\n        as_warn(pcVar11);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }" { (if_statement "if (oVar15 - O_divide < 2) {\n        pcVar11 = (char *)dcgettext(0,"division by zero",5);\n        as_warn(pcVar11);\n        local_5c = 1;\n        local_58 = 0;\n      }" if (parenthesized_expression "(oVar15 - O_divide < 2)" ( (binary_expression "oVar15 - O_divide < 2" (binary_expression "oVar15 - O_divide" identifier - identifier) < number_literal) )) (compound_statement "{\n        pcVar11 = (char *)dcgettext(0,"division by zero",5);\n        as_warn(pcVar11);\n        local_5c = 1;\n        local_58 = 0;\n      }" { (expression_statement "pcVar11 = (char *)dcgettext(0,"division by zero",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"division by zero",5)" identifier = (cast_expression "(char *)dcgettext(0,"division by zero",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"division by zero",5)" identifier (argument_list "(0,"division by zero",5)" ( number_literal , (string_literal ""division by zero"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar11);" (call_expression "as_warn(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier ))) ;) (expression_statement "local_5c = 1;" (assignment_expression "local_5c = 1" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) })) }) (else_clause "else if ((right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&\n            (oVar15 - O_left_shift < 2)) {\n      pcVar11 = (char *)dcgettext(0,"shift count",5);\n      as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" else (if_statement "if ((right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&\n            (oVar15 - O_left_shift < 2)) {\n      pcVar11 = (char *)dcgettext(0,"shift count",5);\n      as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" if (parenthesized_expression "((right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&\n            (oVar15 - O_left_shift < 2))" ( (binary_expression "(right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)) &&\n            (oVar15 - O_left_shift < 2)" (parenthesized_expression "(right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number))" ( (binary_expression "right.X_add_number._4_4_ != 0 ||\n              -right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)" (binary_expression "right.X_add_number._4_4_ != 0" (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier) != number_literal) || (binary_expression "-right.X_add_number._4_4_ < (uint)(0x3f < (uint)right.X_add_number)" (unary_expression "-right.X_add_number._4_4_" - (field_expression "right.X_add_number._4_4_" (field_expression "right.X_add_number" identifier . field_identifier) . field_identifier)) < (call_expression "(uint)(0x3f < (uint)right.X_add_number)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3f < (uint)right.X_add_number)" ( (binary_expression "0x3f < (uint)right.X_add_number" number_literal < (cast_expression "(uint)right.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "right.X_add_number" identifier . field_identifier))) ))))) )) && (parenthesized_expression "(oVar15 - O_left_shift < 2)" ( (binary_expression "oVar15 - O_left_shift < 2" (binary_expression "oVar15 - O_left_shift" identifier - identifier) < number_literal) ))) )) (compound_statement "{\n      pcVar11 = (char *)dcgettext(0,"shift count",5);\n      as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);\n      *(undefined4 *)&resultP->X_add_number = 0;\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" { (expression_statement "pcVar11 = (char *)dcgettext(0,"shift count",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"shift count",5)" identifier = (cast_expression "(char *)dcgettext(0,"shift count",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"shift count",5)" identifier (argument_list "(0,"shift count",5)" ( number_literal , (string_literal ""shift count"" " string_content ") , number_literal ))))) ;) (expression_statement "as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0);" (call_expression "as_warn_value_out_of_range(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0)" identifier (argument_list "(pcVar11,CONCAT44(uVar21,uVar19),0,0x3f,(char *)0x0,0)" ( identifier , (call_expression "CONCAT44(uVar21,uVar19)" identifier (argument_list "(uVar21,uVar19)" ( identifier , identifier ))) , number_literal , number_literal , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal ))) ;) (expression_statement "*(undefined4 *)&resultP->X_add_number = 0;" (assignment_expression "*(undefined4 *)&resultP->X_add_number = 0" (pointer_expression "*(undefined4 *)&resultP->X_add_number" * (cast_expression "(undefined4 *)&resultP->X_add_number" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&resultP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&resultP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&resultP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) })))) (switch_statement "switch(oVar15) {\n    case O_multiply:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      oVar23 = resultP->X_add_number;\n      lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number;\n      *(int *)&resultP->X_add_number = (int)lVar5;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58;\n      break;\n    case O_divide:\n      oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_modulus:\n      oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_left_shift:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 << ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar19;\n      *(uint *)&resultP->X_add_number = uVar21;\n      break;\n    case O_right_shift:\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      uVar18 = uVar19 >> ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)&resultP->X_add_number = uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n      break;\n    case O_bit_inclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | local_58;\n      break;\n    case O_bit_or_not:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | ~local_58;\n      break;\n    case O_bit_exclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 ^ local_58;\n      break;\n    case O_bit_and:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 & local_58;\n      break;\n    default:\n      goto _L446;\n    case O_subtract:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - local_5c;\n      *(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c);\n      if (uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)) {\n        resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;\n      }\n      break;\n    case O_eq:\n      uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58);\n      goto LAB_00022ed0;\n    case O_ne:\n      uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58);\n      goto LAB_00022ed0;\n    case O_lt:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d74;\nLAB_00022d9e:\n      uVar19 = 0;\n      goto LAB_00022ed0;\n    case O_le:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_ge:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_gt:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\nLAB_00022d74:\n      uVar19 = 1;\nLAB_00022ed0:\n      *(uint *)&resultP->X_add_number = -uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0);\n      break;\n    case O_logical_and:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case O_logical_or:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0));\n    }" switch (parenthesized_expression "(oVar15)" ( identifier )) (compound_statement "{\n    case O_multiply:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      oVar23 = resultP->X_add_number;\n      lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number;\n      *(int *)&resultP->X_add_number = (int)lVar5;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58;\n      break;\n    case O_divide:\n      oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_modulus:\n      oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;\n    case O_left_shift:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 << ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar19;\n      *(uint *)&resultP->X_add_number = uVar21;\n      break;\n    case O_right_shift:\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      uVar18 = uVar19 >> ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)&resultP->X_add_number = uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n      break;\n    case O_bit_inclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | local_58;\n      break;\n    case O_bit_or_not:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | ~local_58;\n      break;\n    case O_bit_exclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 ^ local_58;\n      break;\n    case O_bit_and:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 & local_58;\n      break;\n    default:\n      goto _L446;\n    case O_subtract:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - local_5c;\n      *(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c);\n      if (uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)) {\n        resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;\n      }\n      break;\n    case O_eq:\n      uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58);\n      goto LAB_00022ed0;\n    case O_ne:\n      uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58);\n      goto LAB_00022ed0;\n    case O_lt:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d74;\nLAB_00022d9e:\n      uVar19 = 0;\n      goto LAB_00022ed0;\n    case O_le:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_ge:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;\n    case O_gt:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\nLAB_00022d74:\n      uVar19 = 1;\nLAB_00022ed0:\n      *(uint *)&resultP->X_add_number = -uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0);\n      break;\n    case O_logical_and:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case O_logical_or:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0));\n    }" { (case_statement "case O_multiply:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      oVar23 = resultP->X_add_number;\n      lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number;\n      *(int *)&resultP->X_add_number = (int)lVar5;\n      *(uint *)((int)&resultP->X_add_number + 4) =\n           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58;\n      break;" case identifier : (expression_statement "iVar13 = *(int *)((int)&resultP->X_add_number + 4);" (assignment_expression "iVar13 = *(int *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(int *)((int)&resultP->X_add_number + 4)" * (cast_expression "(int *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "oVar23 = resultP->X_add_number;" (assignment_expression "oVar23 = resultP->X_add_number" identifier = (field_expression "resultP->X_add_number" identifier -> field_identifier)) ;) (expression_statement "lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number;" (assignment_expression "lVar5 = (ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number" identifier = (binary_expression "(ulonglong)local_5c * (ulonglong)(uint)resultP->X_add_number" (cast_expression "(ulonglong)local_5c" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)(uint)resultP->X_add_number" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))))) ;) (expression_statement "*(int *)&resultP->X_add_number = (int)lVar5;" (assignment_expression "*(int *)&resultP->X_add_number = (int)lVar5" (pointer_expression "*(int *)&resultP->X_add_number" * (cast_expression "(int *)&resultP->X_add_number" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (cast_expression "(int)lVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) =\n           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58;" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) =\n           (int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c + (int)oVar23 * local_58" (binary_expression "(int)((ulonglong)lVar5 >> 0x20) + iVar13 * local_5c" (cast_expression "(int)((ulonglong)lVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar5 >> 0x20)" ( (binary_expression "(ulonglong)lVar5 >> 0x20" (cast_expression "(ulonglong)lVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "iVar13 * local_5c" identifier * identifier)) + (binary_expression "(int)oVar23 * local_58" (cast_expression "(int)oVar23" ( (type_descriptor "int" primitive_type) ) identifier) * identifier))) ;) (break_statement "break;" break ;)) (case_statement "case O_divide:\n      oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;" case identifier : (expression_statement "oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);" (assignment_expression "oVar23 = __divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58)" identifier = (call_expression "__divdi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58)" identifier (argument_list "((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58)" ( (cast_expression "(int)resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) , (pointer_expression "*(undefined4 *)((int)&resultP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "resultP->X_add_number = oVar23;" (assignment_expression "resultP->X_add_number = oVar23" (field_expression "resultP->X_add_number" identifier -> field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case O_modulus:\n      oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);\n      resultP->X_add_number = oVar23;\n      break;" case identifier : (expression_statement "oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58);" (assignment_expression "oVar23 = __moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58)" identifier = (call_expression "__moddi3((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58)" identifier (argument_list "((int)resultP->X_add_number,*(undefined4 *)((int)&resultP->X_add_number + 4),\n                        local_5c,local_58)" ( (cast_expression "(int)resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) , (pointer_expression "*(undefined4 *)((int)&resultP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "resultP->X_add_number = oVar23;" (assignment_expression "resultP->X_add_number = oVar23" (field_expression "resultP->X_add_number" identifier -> field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case O_left_shift:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar18 = uVar19 << ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar19;\n      *(uint *)&resultP->X_add_number = uVar21;\n      break;" case identifier : (expression_statement "uVar19 = (uint)resultP->X_add_number;" (assignment_expression "uVar19 = (uint)resultP->X_add_number" identifier = (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "uVar18 = uVar19 << ((byte)local_5c & 0x1f);" (assignment_expression "uVar18 = uVar19 << ((byte)local_5c & 0x1f)" identifier = (binary_expression "uVar19 << ((byte)local_5c & 0x1f)" identifier << (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar21 = uVar18;" (assignment_expression "uVar21 = uVar18" identifier = identifier) ;) (expression_statement "uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f);" (assignment_expression "uVar19 = *(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f)" identifier = (binary_expression "*(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f) |\n               uVar19 >> 0x20 - ((byte)local_5c & 0x1f)" (binary_expression "*(int *)((int)&resultP->X_add_number + 4) << ((byte)local_5c & 0x1f)" (pointer_expression "*(int *)((int)&resultP->X_add_number + 4)" * (cast_expression "(int *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) << (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "uVar19 >> 0x20 - ((byte)local_5c & 0x1f)" identifier >> (binary_expression "0x20 - ((byte)local_5c & 0x1f)" number_literal - (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }" if (parenthesized_expression "((local_5c & 0x20) != 0)" ( (binary_expression "(local_5c & 0x20) != 0" (parenthesized_expression "(local_5c & 0x20)" ( (binary_expression "local_5c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar19 = uVar18;" (assignment_expression "uVar19 = uVar18" identifier = identifier) ;) })) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) = uVar19;" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) = uVar19" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)&resultP->X_add_number = uVar21;" (assignment_expression "*(uint *)&resultP->X_add_number = uVar21" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case O_right_shift:\n      uVar19 = *(uint *)((int)&resultP->X_add_number + 4);\n      uVar18 = uVar19 >> ((byte)local_5c & 0x1f);\n      uVar21 = uVar18;\n      uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }\n      *(uint *)&resultP->X_add_number = uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = uVar21;\n      break;" case identifier : (expression_statement "uVar19 = *(uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "uVar19 = *(uint *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar18 = uVar19 >> ((byte)local_5c & 0x1f);" (assignment_expression "uVar18 = uVar19 >> ((byte)local_5c & 0x1f)" identifier = (binary_expression "uVar19 >> ((byte)local_5c & 0x1f)" identifier >> (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar21 = uVar18;" (assignment_expression "uVar21 = uVar18" identifier = identifier) ;) (expression_statement "uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f);" (assignment_expression "uVar19 = (uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f)" identifier = (binary_expression "(uint)resultP->X_add_number >> ((byte)local_5c & 0x1f) |\n               uVar19 << 0x20 - ((byte)local_5c & 0x1f)" (binary_expression "(uint)resultP->X_add_number >> ((byte)local_5c & 0x1f)" (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) >> (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "uVar19 << 0x20 - ((byte)local_5c & 0x1f)" identifier << (binary_expression "0x20 - ((byte)local_5c & 0x1f)" number_literal - (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((local_5c & 0x20) != 0) {\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }" if (parenthesized_expression "((local_5c & 0x20) != 0)" ( (binary_expression "(local_5c & 0x20) != 0" (parenthesized_expression "(local_5c & 0x20)" ( (binary_expression "local_5c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar21 = 0;\n        uVar19 = uVar18;\n      }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar19 = uVar18;" (assignment_expression "uVar19 = uVar18" identifier = identifier) ;) })) (expression_statement "*(uint *)&resultP->X_add_number = uVar19;" (assignment_expression "*(uint *)&resultP->X_add_number = uVar19" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) = uVar21;" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) = uVar21" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case O_bit_inclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | local_58;\n      break;" case identifier : (expression_statement "*(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c;" (assignment_expression "*(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | local_5c" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (binary_expression "(uint)resultP->X_add_number | local_5c" (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) | identifier)) ;) (expression_statement "puVar2 = (uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "puVar2 = (uint *)((int)&resultP->X_add_number + 4)" identifier = (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*puVar2 = *puVar2 | local_58;" (assignment_expression "*puVar2 = *puVar2 | local_58" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 | local_58" (pointer_expression "*puVar2" * identifier) | identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_bit_or_not:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 | ~local_58;\n      break;" case identifier : (expression_statement "*(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c;" (assignment_expression "*(uint *)&resultP->X_add_number = (uint)resultP->X_add_number | ~local_5c" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (binary_expression "(uint)resultP->X_add_number | ~local_5c" (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) | (unary_expression "~local_5c" ~ identifier))) ;) (expression_statement "puVar2 = (uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "puVar2 = (uint *)((int)&resultP->X_add_number + 4)" identifier = (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*puVar2 = *puVar2 | ~local_58;" (assignment_expression "*puVar2 = *puVar2 | ~local_58" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 | ~local_58" (pointer_expression "*puVar2" * identifier) | (unary_expression "~local_58" ~ identifier))) ;) (break_statement "break;" break ;)) (case_statement "case O_bit_exclusive_or:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 ^ local_58;\n      break;" case identifier : (expression_statement "*(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c;" (assignment_expression "*(uint *)&resultP->X_add_number = (uint)resultP->X_add_number ^ local_5c" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (binary_expression "(uint)resultP->X_add_number ^ local_5c" (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) ^ identifier)) ;) (expression_statement "puVar2 = (uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "puVar2 = (uint *)((int)&resultP->X_add_number + 4)" identifier = (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*puVar2 = *puVar2 ^ local_58;" (assignment_expression "*puVar2 = *puVar2 ^ local_58" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 ^ local_58" (pointer_expression "*puVar2" * identifier) ^ identifier)) ;) (break_statement "break;" break ;)) (case_statement "case O_bit_and:\n      *(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c;\n      puVar2 = (uint *)((int)&resultP->X_add_number + 4);\n      *puVar2 = *puVar2 & local_58;\n      break;" case identifier : (expression_statement "*(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c;" (assignment_expression "*(uint *)&resultP->X_add_number = (uint)resultP->X_add_number & local_5c" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (binary_expression "(uint)resultP->X_add_number & local_5c" (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) & identifier)) ;) (expression_statement "puVar2 = (uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "puVar2 = (uint *)((int)&resultP->X_add_number + 4)" identifier = (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*puVar2 = *puVar2 & local_58;" (assignment_expression "*puVar2 = *puVar2 & local_58" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 & local_58" (pointer_expression "*puVar2" * identifier) & identifier)) ;) (break_statement "break;" break ;)) (case_statement "default:\n      goto _L446;" default : (goto_statement "goto _L446;" goto statement_identifier ;)) (case_statement "case O_subtract:\n      uVar19 = (uint)resultP->X_add_number;\n      uVar21 = *(uint *)((int)&resultP->X_add_number + 4);\n      *(uint *)&resultP->X_add_number = uVar19 - local_5c;\n      *(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c);\n      if (uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)) {\n        resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;\n      }\n      break;" case identifier : (expression_statement "uVar19 = (uint)resultP->X_add_number;" (assignment_expression "uVar19 = (uint)resultP->X_add_number" identifier = (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))) ;) (expression_statement "uVar21 = *(uint *)((int)&resultP->X_add_number + 4);" (assignment_expression "uVar21 = *(uint *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(uint *)&resultP->X_add_number = uVar19 - local_5c;" (assignment_expression "*(uint *)&resultP->X_add_number = uVar19 - local_5c" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (binary_expression "uVar19 - local_5c" identifier - identifier)) ;) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c);" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) = (uVar21 - local_58) - (uint)(uVar19 < local_5c)" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(uVar21 - local_58) - (uint)(uVar19 < local_5c)" (parenthesized_expression "(uVar21 - local_58)" ( (binary_expression "uVar21 - local_58" identifier - identifier) )) - (call_expression "(uint)(uVar19 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < local_5c)" ( (binary_expression "uVar19 < local_5c" identifier < identifier) ))))) ;) (if_statement "if (uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)) {\n        resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;\n      }" if (parenthesized_expression "(uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c))" ( (binary_expression "uVar21 < local_58 || uVar21 - local_58 < (uint)(uVar19 < local_5c)" (binary_expression "uVar21 < local_58" identifier < identifier) || (binary_expression "uVar21 - local_58 < (uint)(uVar19 < local_5c)" (binary_expression "uVar21 - local_58" identifier - identifier) < (call_expression "(uint)(uVar19 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < local_5c)" ( (binary_expression "uVar19 < local_5c" identifier < identifier) ))))) )) (compound_statement "{\n        resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;\n      }" { (expression_statement "resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;" (assignment_expression "resultP->field_0x11 =\n             ((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd" (field_expression "resultP->field_0x11" identifier -> field_identifier) = (binary_expression "((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd" (binary_expression "((byte)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02'" (parenthesized_expression "((byte)resultP->field_0x11 >> 1 & 1 ^ 1)" ( (binary_expression "(byte)resultP->field_0x11 >> 1 & 1 ^ 1" (binary_expression "(byte)resultP->field_0x11 >> 1 & 1" (binary_expression "(byte)resultP->field_0x11 >> 1" (cast_expression "(byte)resultP->field_0x11" ( (type_descriptor "byte" type_identifier) ) (field_expression "resultP->field_0x11" identifier -> field_identifier)) >> number_literal) & number_literal) ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "resultP->field_0x11 & 0xfd" (field_expression "resultP->field_0x11" identifier -> field_identifier) & number_literal))) ;) })) (break_statement "break;" break ;)) (case_statement "case O_eq:\n      uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58);\n      goto LAB_00022ed0;" case identifier : (expression_statement "uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58);" (assignment_expression "uVar19 = (uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58)" identifier = (call_expression "(uint)((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58)" ( (binary_expression "(uint)resultP->X_add_number == local_5c &&\n                     *(uint *)((int)&resultP->X_add_number + 4) == local_58" (binary_expression "(uint)resultP->X_add_number == local_5c" (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) == identifier) && (binary_expression "*(uint *)((int)&resultP->X_add_number + 4) == local_58" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) == identifier)) )))) ;) (goto_statement "goto LAB_00022ed0;" goto statement_identifier ;)) (case_statement "case O_ne:\n      uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58);\n      goto LAB_00022ed0;" case identifier : (expression_statement "uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58);" (assignment_expression "uVar19 = (uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58)" identifier = (call_expression "(uint)((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58)" ( (binary_expression "(uint)resultP->X_add_number != local_5c ||\n                     *(uint *)((int)&resultP->X_add_number + 4) != local_58" (binary_expression "(uint)resultP->X_add_number != local_5c" (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) != identifier) || (binary_expression "*(uint *)((int)&resultP->X_add_number + 4) != local_58" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) != identifier)) )))) ;) (goto_statement "goto LAB_00022ed0;" goto statement_identifier ;)) (case_statement "case O_lt:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d74;\nLAB_00022d9e:\n      uVar19 = 0;\n      goto LAB_00022ed0;" case identifier : (expression_statement "iVar13 = *(int *)((int)&resultP->X_add_number + 4);" (assignment_expression "iVar13 = *(int *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(int *)((int)&resultP->X_add_number + 4)" * (cast_expression "(int *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar19 = (uint)((uint)resultP->X_add_number < local_5c);" (assignment_expression "uVar19 = (uint)((uint)resultP->X_add_number < local_5c)" identifier = (call_expression "(uint)((uint)resultP->X_add_number < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)resultP->X_add_number < local_5c)" ( (binary_expression "(uint)resultP->X_add_number < local_5c" (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) < identifier) )))) ;) (expression_statement "iVar4 = iVar13 - local_58;" (assignment_expression "iVar4 = iVar13 - local_58" identifier = (binary_expression "iVar13 - local_58" identifier - identifier)) ;) (if_statement "if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d74;" if (parenthesized_expression "((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)" ( (binary_expression "(SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0" (parenthesized_expression "(SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19))" ( (binary_expression "SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)" (call_expression "SBORROW4(iVar13,local_58)" identifier (argument_list "(iVar13,local_58)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar4,uVar19)" identifier (argument_list "(iVar4,uVar19)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar4 - uVar19) < 0" (cast_expression "(int)(iVar4 - uVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar4 - uVar19)" ( (binary_expression "iVar4 - uVar19" identifier - identifier) ))) < number_literal)) )) (goto_statement "goto LAB_00022d74;" goto statement_identifier ;)) (labeled_statement "LAB_00022d9e:\n      uVar19 = 0;" statement_identifier : (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_00022ed0;" goto statement_identifier ;)) (case_statement "case O_le:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;" case identifier : (expression_statement "piVar1 = (int *)((int)&resultP->X_add_number + 4);" (assignment_expression "piVar1 = (int *)((int)&resultP->X_add_number + 4)" identifier = (cast_expression "(int *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);" (assignment_expression "uVar19 = (uint)(local_5c < (uint)resultP->X_add_number)" identifier = (call_expression "(uint)(local_5c < (uint)resultP->X_add_number)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_5c < (uint)resultP->X_add_number)" ( (binary_expression "local_5c < (uint)resultP->X_add_number" identifier < (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))) )))) ;) (expression_statement "iVar13 = local_58 - *piVar1;" (assignment_expression "iVar13 = local_58 - *piVar1" identifier = (binary_expression "local_58 - *piVar1" identifier - (pointer_expression "*piVar1" * identifier))) ;) (if_statement "if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;" if (parenthesized_expression "((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0)" ( (binary_expression "(SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) != (int)(iVar13 - uVar19) < 0" (parenthesized_expression "(SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19))" ( (binary_expression "SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)" (call_expression "SBORROW4(local_58,*piVar1)" identifier (argument_list "(local_58,*piVar1)" ( identifier , (pointer_expression "*piVar1" * identifier) ))) != (call_expression "SBORROW4(iVar13,uVar19)" identifier (argument_list "(iVar13,uVar19)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar13 - uVar19) < 0" (cast_expression "(int)(iVar13 - uVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar13 - uVar19)" ( (binary_expression "iVar13 - uVar19" identifier - identifier) ))) < number_literal)) )) (goto_statement "goto LAB_00022d9e;" goto statement_identifier ;)) (goto_statement "goto LAB_00022d74;" goto statement_identifier ;)) (case_statement "case O_ge:\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)((uint)resultP->X_add_number < local_5c);\n      iVar4 = iVar13 - local_58;\n      if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d9e;\n      goto LAB_00022d74;" case identifier : (expression_statement "iVar13 = *(int *)((int)&resultP->X_add_number + 4);" (assignment_expression "iVar13 = *(int *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(int *)((int)&resultP->X_add_number + 4)" * (cast_expression "(int *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar19 = (uint)((uint)resultP->X_add_number < local_5c);" (assignment_expression "uVar19 = (uint)((uint)resultP->X_add_number < local_5c)" identifier = (call_expression "(uint)((uint)resultP->X_add_number < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)resultP->X_add_number < local_5c)" ( (binary_expression "(uint)resultP->X_add_number < local_5c" (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier)) < identifier) )))) ;) (expression_statement "iVar4 = iVar13 - local_58;" (assignment_expression "iVar4 = iVar13 - local_58" identifier = (binary_expression "iVar13 - local_58" identifier - identifier)) ;) (if_statement "if ((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)\n      goto LAB_00022d9e;" if (parenthesized_expression "((SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0)" ( (binary_expression "(SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)) != (int)(iVar4 - uVar19) < 0" (parenthesized_expression "(SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19))" ( (binary_expression "SBORROW4(iVar13,local_58) != SBORROW4(iVar4,uVar19)" (call_expression "SBORROW4(iVar13,local_58)" identifier (argument_list "(iVar13,local_58)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar4,uVar19)" identifier (argument_list "(iVar4,uVar19)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar4 - uVar19) < 0" (cast_expression "(int)(iVar4 - uVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar4 - uVar19)" ( (binary_expression "iVar4 - uVar19" identifier - identifier) ))) < number_literal)) )) (goto_statement "goto LAB_00022d9e;" goto statement_identifier ;)) (goto_statement "goto LAB_00022d74;" goto statement_identifier ;)) (case_statement "case O_gt:\n      piVar1 = (int *)((int)&resultP->X_add_number + 4);\n      uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);\n      iVar13 = local_58 - *piVar1;\n      if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;\nLAB_00022d74:\n      uVar19 = 1;\nLAB_00022ed0:\n      *(uint *)&resultP->X_add_number = -uVar19;\n      *(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0);\n      break;" case identifier : (expression_statement "piVar1 = (int *)((int)&resultP->X_add_number + 4);" (assignment_expression "piVar1 = (int *)((int)&resultP->X_add_number + 4)" identifier = (cast_expression "(int *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "uVar19 = (uint)(local_5c < (uint)resultP->X_add_number);" (assignment_expression "uVar19 = (uint)(local_5c < (uint)resultP->X_add_number)" identifier = (call_expression "(uint)(local_5c < (uint)resultP->X_add_number)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_5c < (uint)resultP->X_add_number)" ( (binary_expression "local_5c < (uint)resultP->X_add_number" identifier < (cast_expression "(uint)resultP->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "resultP->X_add_number" identifier -> field_identifier))) )))) ;) (expression_statement "iVar13 = local_58 - *piVar1;" (assignment_expression "iVar13 = local_58 - *piVar1" identifier = (binary_expression "local_58 - *piVar1" identifier - (pointer_expression "*piVar1" * identifier))) ;) (if_statement "if ((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)\n      goto LAB_00022d9e;" if (parenthesized_expression "((SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0)" ( (binary_expression "(SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)) == (int)(iVar13 - uVar19) < 0" (parenthesized_expression "(SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19))" ( (binary_expression "SBORROW4(local_58,*piVar1) != SBORROW4(iVar13,uVar19)" (call_expression "SBORROW4(local_58,*piVar1)" identifier (argument_list "(local_58,*piVar1)" ( identifier , (pointer_expression "*piVar1" * identifier) ))) != (call_expression "SBORROW4(iVar13,uVar19)" identifier (argument_list "(iVar13,uVar19)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar13 - uVar19) < 0" (cast_expression "(int)(iVar13 - uVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar13 - uVar19)" ( (binary_expression "iVar13 - uVar19" identifier - identifier) ))) < number_literal)) )) (goto_statement "goto LAB_00022d9e;" goto statement_identifier ;)) (labeled_statement "LAB_00022d74:\n      uVar19 = 1;" statement_identifier : (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_00022ed0:\n      *(uint *)&resultP->X_add_number = -uVar19;" statement_identifier : (expression_statement "*(uint *)&resultP->X_add_number = -uVar19;" (assignment_expression "*(uint *)&resultP->X_add_number = -uVar19" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (unary_expression "-uVar19" - identifier)) ;)) (expression_statement "*(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0);" (assignment_expression "*(uint *)((int)&resultP->X_add_number + 4) = -(uint)(uVar19 != 0)" (pointer_expression "*(uint *)((int)&resultP->X_add_number + 4)" * (cast_expression "(uint *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = (unary_expression "-(uint)(uVar19 != 0)" - (call_expression "(uint)(uVar19 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case O_logical_and:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0));\n      break;" case identifier : (expression_statement "oVar23 = resultP->X_add_number;" (assignment_expression "oVar23 = resultP->X_add_number" identifier = (field_expression "resultP->X_add_number" identifier -> field_identifier)) ;) (expression_statement "iVar13 = *(int *)((int)&resultP->X_add_number + 4);" (assignment_expression "iVar13 = *(int *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(int *)((int)&resultP->X_add_number + 4)" * (cast_expression "(int *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)&resultP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&resultP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&resultP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0));" (assignment_expression "*(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0))" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (call_expression "(uint)(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0))" ( (binary_expression "((int)oVar23 != 0 || iVar13 != 0) && (local_5c != 0 || local_58 != 0)" (parenthesized_expression "((int)oVar23 != 0 || iVar13 != 0)" ( (binary_expression "(int)oVar23 != 0 || iVar13 != 0" (binary_expression "(int)oVar23 != 0" (cast_expression "(int)oVar23" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) || (binary_expression "iVar13 != 0" identifier != number_literal)) )) && (parenthesized_expression "(local_5c != 0 || local_58 != 0)" ( (binary_expression "local_5c != 0 || local_58 != 0" (binary_expression "local_5c != 0" identifier != number_literal) || (binary_expression "local_58 != 0" identifier != number_literal)) ))) )))) ;) (break_statement "break;" break ;)) (case_statement "case O_logical_or:\n      oVar23 = resultP->X_add_number;\n      iVar13 = *(int *)((int)&resultP->X_add_number + 4);\n      *(undefined4 *)((int)&resultP->X_add_number + 4) = 0;\n      *(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0));" case identifier : (expression_statement "oVar23 = resultP->X_add_number;" (assignment_expression "oVar23 = resultP->X_add_number" identifier = (field_expression "resultP->X_add_number" identifier -> field_identifier)) ;) (expression_statement "iVar13 = *(int *)((int)&resultP->X_add_number + 4);" (assignment_expression "iVar13 = *(int *)((int)&resultP->X_add_number + 4)" identifier = (pointer_expression "*(int *)((int)&resultP->X_add_number + 4)" * (cast_expression "(int *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)&resultP->X_add_number + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&resultP->X_add_number + 4) = 0" (pointer_expression "*(undefined4 *)((int)&resultP->X_add_number + 4)" * (cast_expression "(undefined4 *)((int)&resultP->X_add_number + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&resultP->X_add_number + 4)" ( (binary_expression "(int)&resultP->X_add_number + 4" (cast_expression "(int)&resultP->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0));" (assignment_expression "*(uint *)&resultP->X_add_number =\n           (uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0))" (pointer_expression "*(uint *)&resultP->X_add_number" * (cast_expression "(uint *)&resultP->X_add_number" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&resultP->X_add_number" & (field_expression "resultP->X_add_number" identifier -> field_identifier)))) = (call_expression "(uint)(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0))" ( (binary_expression "((int)oVar23 != 0 || local_5c != 0) || (iVar13 != 0 || local_58 != 0)" (parenthesized_expression "((int)oVar23 != 0 || local_5c != 0)" ( (binary_expression "(int)oVar23 != 0 || local_5c != 0" (binary_expression "(int)oVar23 != 0" (cast_expression "(int)oVar23" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) || (binary_expression "local_5c != 0" identifier != number_literal)) )) || (parenthesized_expression "(iVar13 != 0 || local_58 != 0)" ( (binary_expression "iVar13 != 0 || local_58 != 0" (binary_expression "iVar13 != 0" identifier != number_literal) || (binary_expression "local_58 != 0" identifier != number_literal)) ))) )))) ;)) })) (labeled_statement "LAB_00022442:\n    if (paVar12 != paVar6) {\nLAB_00022450:\n      puVar20 = puVar7;\n      if ((paVar6 == paVar17) || (paVar12 == paVar17)) {\nLAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);\n      }\n      else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }\n    }" statement_identifier : (if_statement "if (paVar12 != paVar6) {\nLAB_00022450:\n      puVar20 = puVar7;\n      if ((paVar6 == paVar17) || (paVar12 == paVar17)) {\nLAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);\n      }\n      else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }\n    }" if (parenthesized_expression "(paVar12 != paVar6)" ( (binary_expression "paVar12 != paVar6" identifier != identifier) )) (compound_statement "{\nLAB_00022450:\n      puVar20 = puVar7;\n      if ((paVar6 == paVar17) || (paVar12 == paVar17)) {\nLAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);\n      }\n      else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }\n    }" { (labeled_statement "LAB_00022450:\n      puVar20 = puVar7;" statement_identifier : (expression_statement "puVar20 = puVar7;" (assignment_expression "puVar20 = puVar7" identifier = identifier) ;)) (if_statement "if ((paVar6 == paVar17) || (paVar12 == paVar17)) {\nLAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);\n      }\n      else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }" if (parenthesized_expression "((paVar6 == paVar17) || (paVar12 == paVar17))" ( (binary_expression "(paVar6 == paVar17) || (paVar12 == paVar17)" (parenthesized_expression "(paVar6 == paVar17)" ( (binary_expression "paVar6 == paVar17" identifier == identifier) )) || (parenthesized_expression "(paVar12 == paVar17)" ( (binary_expression "paVar12 == paVar17" identifier == identifier) ))) )) (compound_statement "{\nLAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);\n      }" { (labeled_statement "LAB_000228f0:\n        local_80 = (segT)(puVar20 + 0xc0);" statement_identifier : (expression_statement "local_80 = (segT)(puVar20 + 0xc0);" (assignment_expression "local_80 = (segT)(puVar20 + 0xc0)" identifier = (call_expression "(segT)(puVar20 + 0xc0)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(puVar20 + 0xc0)" ( (binary_expression "puVar20 + 0xc0" identifier + number_literal) )))) ;)) }) (else_clause "else if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }" else (if_statement "if ((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))) {\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }" if (parenthesized_expression "((((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract))))))" ( (binary_expression "(((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)) &&\n              (((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))" (parenthesized_expression "(((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6))" ( (binary_expression "((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)) &&\n               (local_80 = paVar6, reg_section != paVar6)" (parenthesized_expression "((expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12))" ( (binary_expression "(expr_section != paVar6) && (local_80 = paVar12, expr_section != paVar12)" (parenthesized_expression "(expr_section != paVar6)" ( (binary_expression "expr_section != paVar6" identifier != identifier) )) && (parenthesized_expression "(local_80 = paVar12, expr_section != paVar12)" ( (comma_expression "local_80 = paVar12, expr_section != paVar12" (assignment_expression "local_80 = paVar12" identifier = identifier) , (binary_expression "expr_section != paVar12" identifier != identifier)) ))) )) && (parenthesized_expression "(local_80 = paVar6, reg_section != paVar6)" ( (comma_expression "local_80 = paVar6, reg_section != paVar6" (assignment_expression "local_80 = paVar6" identifier = identifier) , (binary_expression "reg_section != paVar6" identifier != identifier)) ))) )) && (parenthesized_expression "(((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))))" ( (parenthesized_expression "((local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract))))" ( (binary_expression "(local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))) &&\n               ((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))" (parenthesized_expression "(local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180)))" ( (comma_expression "local_80 = paVar12, reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))" (assignment_expression "local_80 = paVar12" identifier = identifier) , (binary_expression "reg_section != paVar12 &&\n                (local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))" (binary_expression "reg_section != paVar12" identifier != identifier) && (parenthesized_expression "(local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180))" ( (comma_expression "local_80 = paVar6, paVar12 != (segT)(puVar7 + 0x180)" (assignment_expression "local_80 = paVar6" identifier = identifier) , (binary_expression "paVar12 != (segT)(puVar7 + 0x180)" identifier != (call_expression "(segT)(puVar7 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(puVar7 + 0x180)" ( (binary_expression "puVar7 + 0x180" identifier + number_literal) ))))) )))) )) && (parenthesized_expression "((local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)))" ( (parenthesized_expression "(local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract))" ( (comma_expression "local_80 = paVar12, paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)" (assignment_expression "local_80 = paVar12" identifier = identifier) , (binary_expression "paVar6 != (segT)(puVar7 + 0x180) &&\n                (local_80 = paVar6, oVar15 != O_subtract)" (binary_expression "paVar6 != (segT)(puVar7 + 0x180)" identifier != (call_expression "(segT)(puVar7 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(puVar7 + 0x180)" ( (binary_expression "puVar7 + 0x180" identifier + number_literal) )))) && (parenthesized_expression "(local_80 = paVar6, oVar15 != O_subtract)" ( (comma_expression "local_80 = paVar6, oVar15 != O_subtract" (assignment_expression "local_80 = paVar6" identifier = identifier) , (binary_expression "oVar15 != O_subtract" identifier != identifier)) )))) )) ))) )) ))) )) (compound_statement "{\n        pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);\n        as_bad(pcVar11);\n      }" { (expression_statement "pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"operation combines symbols in different segments",5)" identifier = (cast_expression "(char *)dcgettext(0,"operation combines symbols in different segments",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"operation combines symbols in different segments",5)" identifier (argument_list "(0,"operation combines symbols in different segments",5)" ( number_literal , (string_literal ""operation combines symbols in different segments"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(pcVar11);" (call_expression "as_bad(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier ))) ;) })))) }))) (labeled_statement "LAB_000224e0:\n    if (local_88 == O_illegal) break;" statement_identifier : (if_statement "if (local_88 == O_illegal) break;" if (parenthesized_expression "(local_88 == O_illegal)" ( (binary_expression "local_88 == O_illegal" identifier == identifier) )) (break_statement "break;" break ;))) (expression_statement "paVar6 = local_80;" (assignment_expression "paVar6 = local_80" identifier = identifier) ;) (expression_statement "oVar15 = local_88;" (assignment_expression "oVar15 = local_88" identifier = identifier) ;) (expression_statement "oVar3 = op_rank[local_88];" (assignment_expression "oVar3 = op_rank[local_88]" identifier = (subscript_expression "op_rank[local_88]" identifier [ identifier ])) ;) })) (labeled_statement "LAB_00022622:\n  if (resultP->X_add_symbol != (symbolS *)0x0) {\n    symbol_mark_used(resultP->X_add_symbol);\n  }" statement_identifier : (if_statement "if (resultP->X_add_symbol != (symbolS *)0x0) {\n    symbol_mark_used(resultP->X_add_symbol);\n  }" if (parenthesized_expression "(resultP->X_add_symbol != (symbolS *)0x0)" ( (binary_expression "resultP->X_add_symbol != (symbolS *)0x0" (field_expression "resultP->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(resultP->X_add_symbol);\n  }" { (expression_statement "symbol_mark_used(resultP->X_add_symbol);" (call_expression "symbol_mark_used(resultP->X_add_symbol)" identifier (argument_list "(resultP->X_add_symbol)" ( (field_expression "resultP->X_add_symbol" identifier -> field_identifier) ))) ;) }))) (if_statement "if (((char)rankarg == '\0') && (mode == expr_evaluate)) {\n    resolve_expression(resultP);\n  }" if (parenthesized_expression "(((char)rankarg == '\0') && (mode == expr_evaluate))" ( (binary_expression "((char)rankarg == '\0') && (mode == expr_evaluate)" (parenthesized_expression "((char)rankarg == '\0')" ( (binary_expression "(char)rankarg == '\0'" (cast_expression "(char)rankarg" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(mode == expr_evaluate)" ( (binary_expression "mode == expr_evaluate" identifier == identifier) ))) )) (compound_statement "{\n    resolve_expression(resultP);\n  }" { (expression_statement "resolve_expression(resultP);" (call_expression "resolve_expression(resultP)" identifier (argument_list "(resultP)" ( identifier ))) ;) })) (if_statement "if (resultP->field_0x10 == '\x02') {\n    local_80 = (segT)(PTR__bfd_std_section_0007ffb0 + 0x180);\n  }" if (parenthesized_expression "(resultP->field_0x10 == '\x02')" ( (binary_expression "resultP->field_0x10 == '\x02'" (field_expression "resultP->field_0x10" identifier -> field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n    local_80 = (segT)(PTR__bfd_std_section_0007ffb0 + 0x180);\n  }" { (expression_statement "local_80 = (segT)(PTR__bfd_std_section_0007ffb0 + 0x180);" (assignment_expression "local_80 = (segT)(PTR__bfd_std_section_0007ffb0 + 0x180)" identifier = (call_expression "(segT)(PTR__bfd_std_section_0007ffb0 + 0x180)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(PTR__bfd_std_section_0007ffb0 + 0x180)" ( (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal) )))) ;) })) (return_statement "return local_80;" return identifier ;) })))
(translation_unit "undefined * FUN_000221d0(int param_1,int *param_2,int param_3)\n\n{\n  longlong lVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined1 uVar4;\n  byte bVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  int iVar11;\n  char cVar12;\n  byte bVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  uint uVar19;\n  bool bVar20;\n  undefined8 uVar21;\n  longlong lVar22;\n  longlong lVar23;\n  int local_94;\n  int local_88;\n  undefined *local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  byte local_3d;\n  byte *local_3c;\n  uint local_38;\n  byte *local_30;\n  int local_2c;\n  uint local_28;\n  uint local_24;\n  char local_20;\n  byte local_1f;\n  undefined2 local_1e;\n  undefined4 uStack_14;\n  \n  uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);\n  uStack_14 = 0x221d9;\n  if (param_1 < 0) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }\n  if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }\n  DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);\n  DAT_00089ad8 = (undefined4)uVar21;\n  local_80 = (undefined *)FUN_000236b0();\n  if (*DAT_00089978 == 0x20) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }\n  uVar16 = (uint)*DAT_00089978;\n  if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;\n  if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;\n  puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;\n  cVar12 = (&DAT_00080220)[local_94];\n  puVar2 = local_80;\n  iVar11 = local_94;\n  while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }\nLAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }\n  if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }\n  if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }\n  return local_80;\n}\n\n" (function_definition "undefined * FUN_000221d0(int param_1,int *param_2,int param_3)\n\n{\n  longlong lVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined1 uVar4;\n  byte bVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  int iVar11;\n  char cVar12;\n  byte bVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  uint uVar19;\n  bool bVar20;\n  undefined8 uVar21;\n  longlong lVar22;\n  longlong lVar23;\n  int local_94;\n  int local_88;\n  undefined *local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  byte local_3d;\n  byte *local_3c;\n  uint local_38;\n  byte *local_30;\n  int local_2c;\n  uint local_28;\n  uint local_24;\n  char local_20;\n  byte local_1f;\n  undefined2 local_1e;\n  undefined4 uStack_14;\n  \n  uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);\n  uStack_14 = 0x221d9;\n  if (param_1 < 0) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }\n  if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }\n  DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);\n  DAT_00089ad8 = (undefined4)uVar21;\n  local_80 = (undefined *)FUN_000236b0();\n  if (*DAT_00089978 == 0x20) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }\n  uVar16 = (uint)*DAT_00089978;\n  if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;\n  if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;\n  puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;\n  cVar12 = (&DAT_00080220)[local_94];\n  puVar2 = local_80;\n  iVar11 = local_94;\n  while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }\nLAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }\n  if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }\n  if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }\n  return local_80;\n}" type_identifier (pointer_declarator "* FUN_000221d0(int param_1,int *param_2,int param_3)" * (function_declarator "FUN_000221d0(int param_1,int *param_2,int param_3)" identifier (parameter_list "(int param_1,int *param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) )))) (compound_statement "{\n  longlong lVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined1 uVar4;\n  byte bVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  int iVar11;\n  char cVar12;\n  byte bVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  uint uVar19;\n  bool bVar20;\n  undefined8 uVar21;\n  longlong lVar22;\n  longlong lVar23;\n  int local_94;\n  int local_88;\n  undefined *local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  byte local_3d;\n  byte *local_3c;\n  uint local_38;\n  byte *local_30;\n  int local_2c;\n  uint local_28;\n  uint local_24;\n  char local_20;\n  byte local_1f;\n  undefined2 local_1e;\n  undefined4 uStack_14;\n  \n  uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);\n  uStack_14 = 0x221d9;\n  if (param_1 < 0) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }\n  if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }\n  DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);\n  DAT_00089ad8 = (undefined4)uVar21;\n  local_80 = (undefined *)FUN_000236b0();\n  if (*DAT_00089978 == 0x20) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }\n  uVar16 = (uint)*DAT_00089978;\n  if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;\n  if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;\n  puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;\n  cVar12 = (&DAT_00080220)[local_94];\n  puVar2 = local_80;\n  iVar11 = local_94;\n  while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }\nLAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }\n  if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }\n  if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }\n  return local_80;\n}" { (declaration "longlong lVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined1 uVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "bool bVar20;" primitive_type identifier ;) (declaration "undefined8 uVar21;" type_identifier identifier ;) (declaration "longlong lVar22;" type_identifier identifier ;) (declaration "longlong lVar23;" type_identifier identifier ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "undefined *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "byte local_3d;" type_identifier identifier ;) (declaration "byte *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "byte *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "char local_20;" primitive_type identifier ;) (declaration "byte local_1f;" type_identifier identifier ;) (declaration "undefined2 local_1e;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);" (assignment_expression "uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8)" identifier = (call_expression "CONCAT44(DAT_00089adc,DAT_00089ad8)" identifier (argument_list "(DAT_00089adc,DAT_00089ad8)" ( identifier , identifier )))) ;) (expression_statement "uStack_14 = 0x221d9;" (assignment_expression "uStack_14 = 0x221d9" identifier = number_literal) ;) (if_statement "if (param_1 < 0) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }" if (parenthesized_expression "(param_1 < 0)" ( (binary_expression "param_1 < 0" identifier < number_literal) )) (compound_statement "{\n                    \n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }" { (expression_statement "FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204)" identifier (argument_list "("../../gas/expr.c",0x6dc,&DAT_0005e204)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) ))) ;) })) (if_statement "if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }" if (parenthesized_expression "((char)param_1 == '\0')" ( (binary_expression "(char)param_1 == '\0'" (cast_expression "(char)param_1" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }" { (expression_statement "uVar21 = FUN_00024dc0();" (assignment_expression "uVar21 = FUN_00024dc0()" identifier = (call_expression "FUN_00024dc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "DAT_00089ae8 = DAT_000898a0;" (assignment_expression "DAT_00089ae8 = DAT_000898a0" identifier = identifier) ;) })) (expression_statement "DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);" (assignment_expression "DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar21 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar21 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_00089ad8 = (undefined4)uVar21;" (assignment_expression "DAT_00089ad8 = (undefined4)uVar21" identifier = (cast_expression "(undefined4)uVar21" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "local_80 = (undefined *)FUN_000236b0();" (assignment_expression "local_80 = (undefined *)FUN_000236b0()" identifier = (cast_expression "(undefined *)FUN_000236b0()" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000236b0()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (*DAT_00089978 == 0x20) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }" if (parenthesized_expression "(*DAT_00089978 == 0x20)" ( (binary_expression "*DAT_00089978 == 0x20" (pointer_expression "*DAT_00089978" * identifier) == number_literal) )) (compound_statement "{\n                    \n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }" { (expression_statement "FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);" (call_expression "FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2)" identifier (argument_list "("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) , identifier ))) ;) })) (expression_statement "uVar16 = (uint)*DAT_00089978;" (assignment_expression "uVar16 = (uint)*DAT_00089978" identifier = (binary_expression "(uint)*DAT_00089978" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;" if (parenthesized_expression "((&DAT_000802c0)[uVar16] != '\0')" ( (binary_expression "(&DAT_000802c0)[uVar16] != '\0'" (subscript_expression "(&DAT_000802c0)[uVar16]" (parenthesized_expression "(&DAT_000802c0)" ( (pointer_expression "&DAT_000802c0" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022622;" goto statement_identifier ;)) (if_statement "if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }" if (parenthesized_expression "(((&DAT_000803c0)[uVar16] & 2) == 0)" ( (binary_expression "((&DAT_000803c0)[uVar16] & 2) == 0" (parenthesized_expression "((&DAT_000803c0)[uVar16] & 2)" ( (binary_expression "(&DAT_000803c0)[uVar16] & 2" (subscript_expression "(&DAT_000803c0)[uVar16]" (parenthesized_expression "(&DAT_000803c0)" ( (pointer_expression "&DAT_000803c0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }" { (labeled_statement "LAB_00022269:\n    pbVar17 = DAT_00089978;" statement_identifier : (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;)) (if_statement "if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }" if (parenthesized_expression "(uVar16 == 0x2d)" ( (binary_expression "uVar16 == 0x2d" identifier == number_literal) )) (compound_statement "{\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }" { (labeled_statement "LAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" statement_identifier : (expression_statement "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" * (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" ( (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" & identifier) + (binary_expression "uVar16 * 4" identifier * number_literal)) ))))) ;)) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00022706;" goto statement_identifier ;) })) (if_statement "if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" if (parenthesized_expression "(uVar16 < 0x2e)" ( (binary_expression "uVar16 < 0x2e" identifier < number_literal) )) (compound_statement "{\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }" { (if_statement "if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }" if (parenthesized_expression "(uVar16 == 0x26)" ( (binary_expression "uVar16 == 0x26" identifier == number_literal) )) (compound_statement "{\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }" { (expression_statement "local_74 = (DAT_00089978[1] == 0x26) + 1;" (assignment_expression "local_74 = (DAT_00089978[1] == 0x26) + 1" identifier = (binary_expression "(DAT_00089978[1] == 0x26) + 1" (parenthesized_expression "(DAT_00089978[1] == 0x26)" ( (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) + number_literal)) ;) (expression_statement "local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;" (assignment_expression "local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" identifier = (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9" (call_expression "(uint)(DAT_00089978[1] == 0x26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00089978[1] == 0x26)" ( (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) ))) * number_literal) + number_literal)) ;) }) (else_clause "else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }" else (compound_statement "{\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }" { (if_statement "if (uVar16 == 0x2b) goto LAB_000227c0;" if (parenthesized_expression "(uVar16 == 0x2b)" ( (binary_expression "uVar16 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_000227c0;" goto statement_identifier ;)) (if_statement "if (uVar16 != 0x21) goto LAB_000225c3;" if (parenthesized_expression "(uVar16 != 0x21)" ( (binary_expression "uVar16 != 0x21" identifier != number_literal) )) (goto_statement "goto LAB_000225c3;" goto statement_identifier ;)) (if_statement "if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }" if (parenthesized_expression "(DAT_00089978[1] != 0x21)" ( (binary_expression "DAT_00089978[1] != 0x21" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }" { (expression_statement "iVar11 = 0x16;" (assignment_expression "iVar11 = 0x16" identifier = number_literal) ;) (expression_statement "local_94 = 0x10;" (assignment_expression "local_94 = 0x10" identifier = number_literal) ;) (expression_statement "bVar20 = DAT_00089978[1] == 0x3d;" (assignment_expression "bVar20 = DAT_00089978[1] == 0x3d" identifier = (binary_expression "DAT_00089978[1] == 0x3d" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal)) ;) (goto_statement "goto LAB_000222ad;" goto statement_identifier ;) })) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = 0x11;" (assignment_expression "local_94 = 0x11" identifier = number_literal) ;) }))) }) (else_clause "else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" else (if_statement "if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" if (parenthesized_expression "(uVar16 == 0x3d)" ( (binary_expression "uVar16 == 0x3d" identifier == number_literal) )) (compound_statement "{\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }" { (if_statement "if (DAT_00089978[1] != 0x3d) goto LAB_00022622;" if (parenthesized_expression "(DAT_00089978[1] != 0x3d)" ( (binary_expression "DAT_00089978[1] != 0x3d" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00022622;" goto statement_identifier ;)) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = 0x15;" (assignment_expression "local_94 = 0x15" identifier = number_literal) ;) }) (else_clause "else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" else (if_statement "if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" if (parenthesized_expression "(uVar16 < 0x3e)" ( (binary_expression "uVar16 < 0x3e" identifier < number_literal) )) (compound_statement "{\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }" { (if_statement "if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" if (parenthesized_expression "(uVar16 == 0x3c)" ( (binary_expression "uVar16 == 0x3c" identifier == number_literal) )) (compound_statement "{\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }" { (if_statement "if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }" if (parenthesized_expression "((byte)(DAT_00089978[1] - 0x3c) < 3)" ( (binary_expression "(byte)(DAT_00089978[1] - 0x3c) < 3" (call_expression "(byte)(DAT_00089978[1] - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_00089978[1] - 0x3c)" ( (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);" (assignment_expression "local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" * (cast_expression "(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" ( (binary_expression "&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (pointer_expression "&DAT_0005e1e4" & identifier) + (binary_expression "(uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (call_expression "(uint)(byte)(DAT_00089978[1] - 0x3c)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(DAT_00089978[1] - 0x3c)" ( (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) - number_literal) ))) * number_literal)) ))))) ;) (goto_statement "goto LAB_00022706;" goto statement_identifier ;) })) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "local_94 = 0x17;" (assignment_expression "local_94 = 0x17" identifier = number_literal) ;) }) (else_clause "else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" else (compound_statement "{\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" { (labeled_statement "LAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" statement_identifier : (expression_statement "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" * (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" ( (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" & identifier) + (binary_expression "uVar16 * 4" identifier * number_literal)) ))))) ;)) (if_statement "if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }" { (expression_statement "local_94 = FUN_00053d00(0,2,0);" (assignment_expression "local_94 = FUN_00053d00(0,2,0)" identifier = (call_expression "FUN_00053d00(0,2,0)" identifier (argument_list "(0,2,0)" ( number_literal , number_literal , number_literal )))) ;) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (if_statement "if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }" if (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) (compound_statement "{\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }" { (expression_statement "local_74 = (int)DAT_00089978 - (int)pbVar17;" (assignment_expression "local_74 = (int)DAT_00089978 - (int)pbVar17" identifier = (binary_expression "(int)DAT_00089978 - (int)pbVar17" (cast_expression "(int)DAT_00089978" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (goto_statement "goto LAB_00022706;" goto statement_identifier ;) })) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) }))) }) (else_clause "else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" else (compound_statement "{\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" { (if_statement "if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }" if (parenthesized_expression "(uVar16 == 0x3e)" ( (binary_expression "uVar16 == 0x3e" identifier == number_literal) )) (compound_statement "{\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }" { (if_statement "if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }" if (parenthesized_expression "(DAT_00089978[1] == 0x3d)" ( (binary_expression "DAT_00089978[1] == 0x3d" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_94 = 0x19;" (assignment_expression "local_94 = 0x19" identifier = number_literal) ;) (goto_statement "goto LAB_000222c3;" goto statement_identifier ;) })) (expression_statement "iVar11 = 0xe;" (assignment_expression "iVar11 = 0xe" identifier = number_literal) ;) (expression_statement "local_94 = 0x1a;" (assignment_expression "local_94 = 0x1a" identifier = number_literal) ;) (expression_statement "bVar20 = DAT_00089978[1] == 0x3e;" (assignment_expression "bVar20 = DAT_00089978[1] == 0x3e" identifier = (binary_expression "DAT_00089978[1] == 0x3e" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal)) ;) }) (else_clause "else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }" else (compound_statement "{\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }" { (if_statement "if (uVar16 != 0x7c) goto LAB_000225c3;" if (parenthesized_expression "(uVar16 != 0x7c)" ( (binary_expression "uVar16 != 0x7c" identifier != number_literal) )) (goto_statement "goto LAB_000225c3;" goto statement_identifier ;)) (expression_statement "iVar11 = 0x1c;" (assignment_expression "iVar11 = 0x1c" identifier = number_literal) ;) (expression_statement "local_94 = 0xf;" (assignment_expression "local_94 = 0xf" identifier = number_literal) ;) (expression_statement "bVar20 = DAT_00089978[1] == 0x7c;" (assignment_expression "bVar20 = DAT_00089978[1] == 0x7c" identifier = (binary_expression "DAT_00089978[1] == 0x7c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal)) ;) }))) (labeled_statement "LAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }" statement_identifier : (if_statement "if (bVar20) {\n        local_94 = iVar11;\n      }" if (parenthesized_expression "(bVar20)" ( identifier )) (compound_statement "{\n        local_94 = iVar11;\n      }" { (expression_statement "local_94 = iVar11;" (assignment_expression "local_94 = iVar11" identifier = identifier) ;) }))) (expression_statement "local_74 = bVar20 + 1;" (assignment_expression "local_74 = bVar20 + 1" identifier = (binary_expression "bVar20 + 1" identifier + number_literal)) ;) }))))))) }) (else_clause "else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }" else (compound_statement "{\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }" { (expression_statement "uVar4 = FUN_000220a0(&local_30);" (assignment_expression "uVar4 = FUN_000220a0(&local_30)" identifier = (call_expression "FUN_000220a0(&local_30)" identifier (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);" (assignment_expression "local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4)" identifier = (cast_expression "(byte *)CONCAT31(local_3c._1_3_,uVar4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_3c._1_3_,uVar4)" identifier (argument_list "(local_3c._1_3_,uVar4)" ( (field_expression "local_3c._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "local_94 = FUN_00053d00(local_30,2,&local_3c);" (assignment_expression "local_94 = FUN_00053d00(local_30,2,&local_3c)" identifier = (call_expression "FUN_00053d00(local_30,2,&local_3c)" identifier (argument_list "(local_30,2,&local_3c)" ( identifier , number_literal , (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "pbVar17 = local_30;" (assignment_expression "pbVar17 = local_30" identifier = identifier) ;) (if_statement "if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }" if (parenthesized_expression "(local_94 == 1)" ( (binary_expression "local_94 == 1" identifier == number_literal) )) (compound_statement "{\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }" { (expression_statement "*DAT_00089978 = (byte)local_3c;" (assignment_expression "*DAT_00089978 = (byte)local_3c" (pointer_expression "*DAT_00089978" * identifier) = (cast_expression "(byte)local_3c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "DAT_00089978 = local_30;" (assignment_expression "DAT_00089978 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_00022269;" goto statement_identifier ;) })) (if_statement "if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }" if (parenthesized_expression "((local_94 != 0) && (local_94 - 7U < 3))" ( (binary_expression "(local_94 != 0) && (local_94 - 7U < 3)" (parenthesized_expression "(local_94 != 0)" ( (binary_expression "local_94 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_94 - 7U < 3)" ( (binary_expression "local_94 - 7U < 3" (binary_expression "local_94 - 7U" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }" { (expression_statement "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);" (assignment_expression "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5)" identifier = (call_expression "dcgettext(0,"invalid use of operator \"%s\"",5)" identifier (argument_list "(0,"invalid use of operator \"%s\"",5)" ( number_literal , (string_literal ""invalid use of operator \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar7,pbVar17);" (call_expression "FUN_0002bd60(uVar7,pbVar17)" identifier (argument_list "(uVar7,pbVar17)" ( identifier , identifier ))) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) })) (expression_statement "*DAT_00089978 = (byte)local_3c;" (assignment_expression "*DAT_00089978 = (byte)local_3c" (pointer_expression "*DAT_00089978" * identifier) = (cast_expression "(byte)local_3c" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;) (expression_statement "DAT_00089978 = local_30;" (assignment_expression "DAT_00089978 = local_30" identifier = identifier) ;) (expression_statement "local_74 = (int)pbVar17 - (int)local_30;" (assignment_expression "local_74 = (int)pbVar17 - (int)local_30" identifier = (binary_expression "(int)pbVar17 - (int)local_30" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;) (labeled_statement "LAB_00022706:\n    DAT_00089978 = pbVar17;" statement_identifier : (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;)) (if_statement "if (local_94 == 0) goto LAB_00022622;" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00022622;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;" statement_identifier : (expression_statement "puVar3 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar3 = PTR__bfd_std_section_0007ffb0" identifier = identifier) ;)) (expression_statement "puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;" (assignment_expression "puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0" identifier = (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal)) ;) (expression_statement "cVar12 = (&DAT_00080220)[local_94];" (assignment_expression "cVar12 = (&DAT_00080220)[local_94]" identifier = (subscript_expression "(&DAT_00080220)[local_94]" (parenthesized_expression "(&DAT_00080220)" ( (pointer_expression "&DAT_00080220" & identifier) )) [ identifier ])) ;) (expression_statement "puVar2 = local_80;" (assignment_expression "puVar2 = local_80" identifier = identifier) ;) (expression_statement "iVar11 = local_94;" (assignment_expression "iVar11 = local_94" identifier = identifier) ;) (while_statement "while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }" while (parenthesized_expression "(local_80 = puVar2, (char)param_1 < cVar12)" ( (comma_expression "local_80 = puVar2, (char)param_1 < cVar12" (assignment_expression "local_80 = puVar2" identifier = identifier) , (binary_expression "(char)param_1 < cVar12" (cast_expression "(char)param_1" ( (type_descriptor "char" primitive_type) ) identifier) < identifier)) )) (compound_statement "{\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }" { (expression_statement "local_1e = 0;" (assignment_expression "local_1e = 0" identifier = number_literal) ;) (expression_statement "DAT_00089978 = DAT_00089978 + local_74;" (assignment_expression "DAT_00089978 = DAT_00089978 + local_74" identifier = (binary_expression "DAT_00089978 + local_74" identifier + identifier)) ;) (expression_statement "puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);" (assignment_expression "puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3)" identifier = (cast_expression "(undefined *)FUN_000221d0((int)cVar12,&local_30,param_3)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000221d0((int)cVar12,&local_30,param_3)" identifier (argument_list "((int)cVar12,&local_30,param_3)" ( (cast_expression "(int)cVar12" ( (type_descriptor "int" primitive_type) ) identifier) , (pointer_expression "&local_30" & identifier) , identifier ))))) ;) (if_statement "if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }" if (parenthesized_expression "(local_20 == '\x01')" ( (binary_expression "local_20 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }" { (expression_statement "uVar7 = dcgettext(0,"missing operand; zero assumed",5);" (assignment_expression "uVar7 = dcgettext(0,"missing operand; zero assumed",5)" identifier = (call_expression "dcgettext(0,"missing operand; zero assumed",5)" identifier (argument_list "(0,"missing operand; zero assumed",5)" ( number_literal , (string_literal ""missing operand; zero assumed"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "local_20 = '\x02';" (assignment_expression "local_20 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_30 = (byte *)0x0;" (assignment_expression "local_30 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) })) (expression_statement "bVar13 = *DAT_00089978;" (assignment_expression "bVar13 = *DAT_00089978" identifier = (pointer_expression "*DAT_00089978" * identifier)) ;) (expression_statement "uVar16 = (uint)bVar13;" (assignment_expression "uVar16 = (uint)bVar13" identifier = (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }" if (parenthesized_expression "(bVar13 == 0x20)" ( (binary_expression "bVar13 == 0x20" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }" { (expression_statement "FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204)" identifier (argument_list "("../../gas/expr.c",0x6fd,&DAT_0005e204)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) ))) ;) })) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;) (if_statement "if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }" if (parenthesized_expression "(iVar11 == 0x1d)" ( (binary_expression "iVar11 == 0x1d" identifier == number_literal) )) (compound_statement "{\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }" { (if_statement "if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }" if (parenthesized_expression "(bVar13 == 0x5d)" ( (binary_expression "bVar13 == 0x5d" identifier == number_literal) )) (compound_statement "{\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }" { (expression_statement "uVar16 = (uint)DAT_00089978[1];" (assignment_expression "uVar16 = (uint)DAT_00089978[1]" identifier = (cast_expression "(uint)DAT_00089978[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]))) ;) (expression_statement "pbVar17 = DAT_00089978 + 1;" (assignment_expression "pbVar17 = DAT_00089978 + 1" identifier = (binary_expression "DAT_00089978 + 1" identifier + number_literal)) ;) (if_statement "if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }" if (parenthesized_expression "(DAT_00089978[1] == 0x20)" ( (binary_expression "DAT_00089978[1] == 0x20" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }" { (expression_statement "uVar16 = (uint)DAT_00089978[2];" (assignment_expression "uVar16 = (uint)DAT_00089978[2]" identifier = (cast_expression "(uint)DAT_00089978[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "DAT_00089978[2]" identifier [ number_literal ]))) ;) (expression_statement "pbVar17 = DAT_00089978 + 2;" (assignment_expression "pbVar17 = DAT_00089978 + 2" identifier = (binary_expression "DAT_00089978 + 2" identifier + number_literal)) ;) })) (goto_statement "goto LAB_00022300;" goto statement_identifier ;) })) (expression_statement "FUN_0002bd60("missing right bracket");" (call_expression "FUN_0002bd60("missing right bracket")" identifier (argument_list "("missing right bracket")" ( (string_literal ""missing right bracket"" " string_content ") ))) ;) (expression_statement "uVar16 = (uint)*DAT_00089978;" (assignment_expression "uVar16 = (uint)*DAT_00089978" identifier = (binary_expression "(uint)*DAT_00089978" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;" if (parenthesized_expression "((&DAT_000802c0)[uVar16] == '\0')" ( (binary_expression "(&DAT_000802c0)[uVar16] == '\0'" (subscript_expression "(&DAT_000802c0)[uVar16]" (parenthesized_expression "(&DAT_000802c0)" ( (pointer_expression "&DAT_000802c0" & identifier) )) [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022311;" goto statement_identifier ;)) (labeled_statement "LAB_00022590:\n      local_74 = 1;" statement_identifier : (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;)) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }" else (compound_statement "{\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }" { (labeled_statement "LAB_00022300:\n      DAT_00089978 = pbVar17;" statement_identifier : (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;)) (if_statement "if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;" if (parenthesized_expression "((&DAT_000802c0)[uVar16] != '\0')" ( (binary_expression "(&DAT_000802c0)[uVar16] != '\0'" (subscript_expression "(&DAT_000802c0)[uVar16]" (parenthesized_expression "(&DAT_000802c0)" ( (pointer_expression "&DAT_000802c0" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022590;" goto statement_identifier ;)) (labeled_statement "LAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" statement_identifier : (if_statement "if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" if (parenthesized_expression "(((&DAT_000803c0)[uVar16] & 2) == 0)" ( (binary_expression "((&DAT_000803c0)[uVar16] & 2) == 0" (parenthesized_expression "((&DAT_000803c0)[uVar16] & 2)" ( (binary_expression "(&DAT_000803c0)[uVar16] & 2" (subscript_expression "(&DAT_000803c0)[uVar16]" (parenthesized_expression "(&DAT_000803c0)" ( (pointer_expression "&DAT_000803c0" & identifier) )) [ identifier ]) & number_literal) )) == number_literal) )) (compound_statement "{\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }" { (if_statement "if (uVar16 == 0x2d) goto LAB_00023070;" if (parenthesized_expression "(uVar16 == 0x2d)" ( (binary_expression "uVar16 == 0x2d" identifier == number_literal) )) (goto_statement "goto LAB_00023070;" goto statement_identifier ;)) (labeled_statement "LAB_00022328:\n        pbVar17 = DAT_00089978;" statement_identifier : (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;)) (if_statement "if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" if (parenthesized_expression "(uVar16 < 0x2e)" ( (binary_expression "uVar16 < 0x2e" identifier < number_literal) )) (compound_statement "{\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }" { (if_statement "if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }" if (parenthesized_expression "(uVar16 == 0x26)" ( (binary_expression "uVar16 == 0x26" identifier == number_literal) )) (compound_statement "{\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }" { (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "local_74 = (DAT_00089978[1] == 0x26) + 1;" (assignment_expression "local_74 = (DAT_00089978[1] == 0x26) + 1" identifier = (binary_expression "(DAT_00089978[1] == 0x26) + 1" (parenthesized_expression "(DAT_00089978[1] == 0x26)" ( (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) + number_literal)) ;) (expression_statement "local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;" (assignment_expression "local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" identifier = (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9" (call_expression "(uint)(DAT_00089978[1] == 0x26)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_00089978[1] == 0x26)" ( (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) ))) * number_literal) + number_literal)) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }) (else_clause "else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }" else (compound_statement "{\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }" { (if_statement "if (uVar16 == 0x2b) goto LAB_00023070;" if (parenthesized_expression "(uVar16 == 0x2b)" ( (binary_expression "uVar16 == 0x2b" identifier == number_literal) )) (goto_statement "goto LAB_00023070;" goto statement_identifier ;)) (if_statement "if (uVar16 != 0x21) goto LAB_00022883;" if (parenthesized_expression "(uVar16 != 0x21)" ( (binary_expression "uVar16 != 0x21" identifier != number_literal) )) (goto_statement "goto LAB_00022883;" goto statement_identifier ;)) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "bVar13 = DAT_00089978[1];" (assignment_expression "bVar13 = DAT_00089978[1]" identifier = (subscript_expression "DAT_00089978[1]" identifier [ number_literal ])) ;) (if_statement "if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }" if (parenthesized_expression "(bVar13 == 0x21)" ( (binary_expression "bVar13 == 0x21" identifier == number_literal) )) (compound_statement "{\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = 0x11;" (assignment_expression "local_88 = 0x11" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }) (else_clause "else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }" else (compound_statement "{\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }" { (expression_statement "local_74 = (bVar13 == 0x3d) + 1;" (assignment_expression "local_74 = (bVar13 == 0x3d) + 1" identifier = (binary_expression "(bVar13 == 0x3d) + 1" (parenthesized_expression "(bVar13 == 0x3d)" ( (binary_expression "bVar13 == 0x3d" identifier == number_literal) )) + number_literal)) ;) (expression_statement "local_88 = 0x10;" (assignment_expression "local_88 = 0x10" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) (if_statement "if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }" if (parenthesized_expression "(bVar13 == 0x3d)" ( (binary_expression "bVar13 == 0x3d" identifier == number_literal) )) (compound_statement "{\n                local_88 = 0x16;\n              }" { (expression_statement "local_88 = 0x16;" (assignment_expression "local_88 = 0x16" identifier = number_literal) ;) })) }))) }))) }) (else_clause "else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" else (if_statement "if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" if (parenthesized_expression "(uVar16 == 0x3d)" ( (binary_expression "uVar16 == 0x3d" identifier == number_literal) )) (compound_statement "{\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }" { (if_statement "if (DAT_00089978[1] != 0x3d) goto LAB_00022590;" if (parenthesized_expression "(DAT_00089978[1] != 0x3d)" ( (binary_expression "DAT_00089978[1] != 0x3d" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00022590;" goto statement_identifier ;)) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = 0x15;" (assignment_expression "local_88 = 0x15" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }) (else_clause "else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" else (if_statement "if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" if (parenthesized_expression "(uVar16 < 0x3e)" ( (binary_expression "uVar16 < 0x3e" identifier < number_literal) )) (compound_statement "{\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }" { (if_statement "if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }" if (parenthesized_expression "(uVar16 == 0x3c)" ( (binary_expression "uVar16 == 0x3c" identifier == number_literal) )) (compound_statement "{\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }" { (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (if_statement "if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }" if (parenthesized_expression "((byte)(DAT_00089978[1] - 0x3c) < 3)" ( (binary_expression "(byte)(DAT_00089978[1] - 0x3c) < 3" (call_expression "(byte)(DAT_00089978[1] - 0x3c)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_00089978[1] - 0x3c)" ( (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) - number_literal) ))) < number_literal) )) (compound_statement "{\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);" (assignment_expression "local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" * (cast_expression "(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" ( (binary_expression "&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (pointer_expression "&DAT_0005e1e4" & identifier) + (binary_expression "(uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (call_expression "(uint)(byte)(DAT_00089978[1] - 0x3c)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(DAT_00089978[1] - 0x3c)" ( (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) - number_literal) ))) * number_literal)) ))))) ;) (expression_statement "bVar20 = bVar20 && local_88 != 0;" (assignment_expression "bVar20 = bVar20 && local_88 != 0" identifier = (binary_expression "bVar20 && local_88 != 0" identifier && (binary_expression "local_88 != 0" identifier != number_literal))) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }) (else_clause "else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }" else (compound_statement "{\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }" { (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "local_88 = 0x17;" (assignment_expression "local_88 = 0x17" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }))) }) (else_clause "else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }" else (compound_statement "{\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }" { (labeled_statement "LAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" statement_identifier : (expression_statement "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" * (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" ( (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" & identifier) + (binary_expression "uVar16 * 4" identifier * number_literal)) ))))) ;)) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) (if_statement "if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }" if (parenthesized_expression "(local_88 == 0)" ( (binary_expression "local_88 == 0" identifier == number_literal) )) (compound_statement "{\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }" { (expression_statement "local_88 = FUN_00053d00(0,2,0);" (assignment_expression "local_88 = FUN_00053d00(0,2,0)" identifier = (call_expression "FUN_00053d00(0,2,0)" identifier (argument_list "(0,2,0)" ( number_literal , number_literal , number_literal )))) ;) (if_statement "if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }" if (parenthesized_expression "(local_88 != 0)" ( (binary_expression "local_88 != 0" identifier != number_literal) )) (compound_statement "{\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }" { (expression_statement "local_74 = (int)DAT_00089978 - (int)pbVar17;" (assignment_expression "local_74 = (int)DAT_00089978 - (int)pbVar17" identifier = (binary_expression "(int)DAT_00089978 - (int)pbVar17" (cast_expression "(int)DAT_00089978" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "bVar20 = bVar20 && local_88 != 0;" (assignment_expression "bVar20 = bVar20 && local_88 != 0" identifier = (binary_expression "bVar20 && local_88 != 0" identifier && (binary_expression "local_88 != 0" identifier != number_literal))) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) })) }))) }) (else_clause "else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" else (if_statement "if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" if (parenthesized_expression "(uVar16 == 0x3e)" ( (binary_expression "uVar16 == 0x3e" identifier == number_literal) )) (compound_statement "{\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }" { (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "bVar13 = DAT_00089978[1];" (assignment_expression "bVar13 = DAT_00089978[1]" identifier = (subscript_expression "DAT_00089978[1]" identifier [ number_literal ])) ;) (if_statement "if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }" if (parenthesized_expression "(bVar13 == 0x3d)" ( (binary_expression "bVar13 == 0x3d" identifier == number_literal) )) (compound_statement "{\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }" { (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" identifier = number_literal) ;) (expression_statement "local_88 = 0x19;" (assignment_expression "local_88 = 0x19" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) }) (else_clause "else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }" else (compound_statement "{\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }" { (expression_statement "local_74 = (bVar13 == 0x3e) + 1;" (assignment_expression "local_74 = (bVar13 == 0x3e) + 1" identifier = (binary_expression "(bVar13 == 0x3e) + 1" (parenthesized_expression "(bVar13 == 0x3e)" ( (binary_expression "bVar13 == 0x3e" identifier == number_literal) )) + number_literal)) ;) (expression_statement "local_88 = 0x1a;" (assignment_expression "local_88 = 0x1a" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) (if_statement "if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }" if (parenthesized_expression "(bVar13 == 0x3e)" ( (binary_expression "bVar13 == 0x3e" identifier == number_literal) )) (compound_statement "{\n              local_88 = 0xe;\n            }" { (expression_statement "local_88 = 0xe;" (assignment_expression "local_88 = 0xe" identifier = number_literal) ;) })) }))) }) (else_clause "else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" else (compound_statement "{\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" { (if_statement "if (uVar16 != 0x7c) goto LAB_00022883;" if (parenthesized_expression "(uVar16 != 0x7c)" ( (binary_expression "uVar16 != 0x7c" identifier != number_literal) )) (goto_statement "goto LAB_00022883;" goto statement_identifier ;)) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" identifier = (binary_expression "iVar11 != 0x1d" identifier != number_literal)) ;) (expression_statement "local_74 = (DAT_00089978[1] == 0x7c) + 1;" (assignment_expression "local_74 = (DAT_00089978[1] == 0x7c) + 1" identifier = (binary_expression "(DAT_00089978[1] == 0x7c) + 1" (parenthesized_expression "(DAT_00089978[1] == 0x7c)" ( (binary_expression "DAT_00089978[1] == 0x7c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) + number_literal)) ;) (expression_statement "local_88 = 0xf;" (assignment_expression "local_88 = 0xf" identifier = number_literal) ;) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" identifier = identifier) ;) (if_statement "if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }" if (parenthesized_expression "(DAT_00089978[1] == 0x7c)" ( (binary_expression "DAT_00089978[1] == 0x7c" (subscript_expression "DAT_00089978[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            local_88 = 0x1c;\n          }" { (expression_statement "local_88 = 0x1c;" (assignment_expression "local_88 = 0x1c" identifier = number_literal) ;) })) }))))))))) }) (else_clause "else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" else (compound_statement "{\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" { (expression_statement "local_3d = FUN_000220a0(&local_3c);" (assignment_expression "local_3d = FUN_000220a0(&local_3c)" identifier = (call_expression "FUN_000220a0(&local_3c)" identifier (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "local_88 = FUN_00053d00(local_3c,2,&local_3d);" (assignment_expression "local_88 = FUN_00053d00(local_3c,2,&local_3d)" identifier = (call_expression "FUN_00053d00(local_3c,2,&local_3d)" identifier (argument_list "(local_3c,2,&local_3d)" ( identifier , number_literal , (pointer_expression "&local_3d" & identifier) )))) ;) (expression_statement "pbVar17 = local_3c;" (assignment_expression "pbVar17 = local_3c" identifier = identifier) ;) (if_statement "if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }" if (parenthesized_expression "(local_88 != 1)" ( (binary_expression "local_88 != 1" identifier != number_literal) )) (compound_statement "{\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }" { (if_statement "if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }" if (parenthesized_expression "((local_88 == 0) || (2 < local_88 - 7U))" ( (binary_expression "(local_88 == 0) || (2 < local_88 - 7U)" (parenthesized_expression "(local_88 == 0)" ( (binary_expression "local_88 == 0" identifier == number_literal) )) || (parenthesized_expression "(2 < local_88 - 7U)" ( (binary_expression "2 < local_88 - 7U" number_literal < (binary_expression "local_88 - 7U" identifier - number_literal)) ))) )) (compound_statement "{\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }" { (expression_statement "bVar20 = iVar11 != 0x1d && local_88 != 0;" (assignment_expression "bVar20 = iVar11 != 0x1d && local_88 != 0" identifier = (binary_expression "iVar11 != 0x1d && local_88 != 0" (binary_expression "iVar11 != 0x1d" identifier != number_literal) && (binary_expression "local_88 != 0" identifier != number_literal))) ;) }) (else_clause "else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }" else (compound_statement "{\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }" { (expression_statement "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);" (assignment_expression "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5)" identifier = (call_expression "dcgettext(0,"invalid use of operator \"%s\"",5)" identifier (argument_list "(0,"invalid use of operator \"%s\"",5)" ( number_literal , (string_literal ""invalid use of operator \"%s\""" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar7,pbVar17);" (call_expression "FUN_0002bd60(uVar7,pbVar17)" identifier (argument_list "(uVar7,pbVar17)" ( identifier , identifier ))) ;) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" identifier = false) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) }))) (expression_statement "*DAT_00089978 = local_3d;" (assignment_expression "*DAT_00089978 = local_3d" (pointer_expression "*DAT_00089978" * identifier) = identifier) ;) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" identifier = identifier) ;) (expression_statement "DAT_00089978 = local_3c;" (assignment_expression "DAT_00089978 = local_3c" identifier = identifier) ;) (expression_statement "local_74 = (int)pbVar17 - (int)local_3c;" (assignment_expression "local_74 = (int)pbVar17 - (int)local_3c" identifier = (binary_expression "(int)pbVar17 - (int)local_3c" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_00022388;" goto statement_identifier ;) })) (expression_statement "*DAT_00089978 = local_3d;" (assignment_expression "*DAT_00089978 = local_3d" (pointer_expression "*DAT_00089978" * identifier) = identifier) ;) (expression_statement "DAT_00089978 = local_3c;" (assignment_expression "DAT_00089978 = local_3c" identifier = identifier) ;) (if_statement "if (uVar16 != 0x2d) goto LAB_00022328;" if (parenthesized_expression "(uVar16 != 0x2d)" ( (binary_expression "uVar16 != 0x2d" identifier != number_literal) )) (goto_statement "goto LAB_00022328;" goto statement_identifier ;)) (labeled_statement "LAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" statement_identifier : (expression_statement "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4)" identifier = (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" * (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" ( (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" & identifier) + (binary_expression "uVar16 * 4" identifier * number_literal)) ))))) ;)) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" identifier = number_literal) ;) (expression_statement "bVar20 = local_88 != 0 && iVar11 != 0x1d;" (assignment_expression "bVar20 = local_88 != 0 && iVar11 != 0x1d" identifier = (binary_expression "local_88 != 0 && iVar11 != 0x1d" (binary_expression "local_88 != 0" identifier != number_literal) && (binary_expression "iVar11 != 0x1d" identifier != number_literal))) ;) })))) (labeled_statement "LAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }" statement_identifier : (if_statement "if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }" if (parenthesized_expression "((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88]))" ( (binary_expression "(bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])" (parenthesized_expression "(bVar20)" ( identifier )) && (parenthesized_expression "((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])" ( (binary_expression "(char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88]" (cast_expression "(char)(&DAT_00080220)[iVar11]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(&DAT_00080220)[iVar11]" (parenthesized_expression "(&DAT_00080220)" ( (pointer_expression "&DAT_00080220" & identifier) )) [ identifier ])) < (cast_expression "(char)(&DAT_00080220)[local_88]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(&DAT_00080220)[local_88]" (parenthesized_expression "(&DAT_00080220)" ( (pointer_expression "&DAT_00080220" & identifier) )) [ identifier ]))) ))) )) (compound_statement "{\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }" { (expression_statement "FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204)" identifier (argument_list "("../../gas/expr.c",0x70d,&DAT_0005e204)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) ))) ;) }))) }))) (if_statement "if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }" if (parenthesized_expression "(iVar11 < 10)" ( (binary_expression "iVar11 < 10" identifier < number_literal) )) (compound_statement "{\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }" { (expression_statement "FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204)" identifier (argument_list "("../../gas/expr.c",0x70e,&DAT_0005e204)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) ))) ;) })) (if_statement "if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }" if (parenthesized_expression "(0x3d < iVar11)" ( (binary_expression "0x3d < iVar11" number_literal < identifier) )) (compound_statement "{\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }" { (expression_statement "FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204)" identifier (argument_list "("../../gas/expr.c",0x712,&DAT_0005e204)" ( (string_literal ""../../gas/expr.c"" " string_content ") , number_literal , (pointer_expression "&DAT_0005e204" & identifier) ))) ;) })) (if_statement "if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }" if (parenthesized_expression "((char)param_2[4] == '\x06')" ( (binary_expression "(char)param_2[4] == '\x06'" (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }" { (if_statement "if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }" if (parenthesized_expression "(-param_2[3] < (int)(uint)(param_2[2] != 0))" ( (binary_expression "-param_2[3] < (int)(uint)(param_2[2] != 0)" (unary_expression "-param_2[3]" - (subscript_expression "param_2[3]" identifier [ number_literal ])) < (cast_expression "(int)(uint)(param_2[2] != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(param_2[2] != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2[2] != 0)" ( (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) != number_literal) ))))) )) (compound_statement "{\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }" { (expression_statement "pcVar9 = "left operand is a bignum; integer 0 assumed";" (assignment_expression "pcVar9 = "left operand is a bignum; integer 0 assumed"" identifier = (string_literal ""left operand is a bignum; integer 0 assumed"" " string_content ")) ;) }) (else_clause "else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }" else (compound_statement "{\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }" { (expression_statement "pcVar9 = "left operand is a float; integer 0 assumed";" (assignment_expression "pcVar9 = "left operand is a float; integer 0 assumed"" identifier = (string_literal ""left operand is a float; integer 0 assumed"" " string_content ")) ;) }))) (expression_statement "uVar7 = dcgettext(0,pcVar9,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar9,5)" identifier = (call_expression "dcgettext(0,pcVar9,5)" identifier (argument_list "(0,pcVar9,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*(undefined1 *)(param_2 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_2 + 4) = 2" (pointer_expression "*(undefined1 *)(param_2 + 4)" * (cast_expression "(undefined1 *)(param_2 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "param_2[1] = 0;" (assignment_expression "param_2[1] = 0" (subscript_expression "param_2[1]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "local_94._0_1_ = (undefined1)iVar11;" (assignment_expression "local_94._0_1_ = (undefined1)iVar11" (field_expression "local_94._0_1_" identifier . field_identifier) = (cast_expression "(undefined1)iVar11" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (if_statement "if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }" if (parenthesized_expression "(local_20 == '\x06')" ( (binary_expression "local_20 == '\x06'" identifier == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }" { (if_statement "if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }" if (parenthesized_expression "((int)-local_24 < (int)(uint)(local_28 != 0))" ( (binary_expression "(int)-local_24 < (int)(uint)(local_28 != 0)" (cast_expression "(int)-local_24" ( (type_descriptor "int" primitive_type) ) (unary_expression "-local_24" - identifier)) < (cast_expression "(int)(uint)(local_28 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(local_28 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) ))))) )) (compound_statement "{\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }" { (expression_statement "pcVar9 = "right operand is a bignum; integer 0 assumed";" (assignment_expression "pcVar9 = "right operand is a bignum; integer 0 assumed"" identifier = (string_literal ""right operand is a bignum; integer 0 assumed"" " string_content ")) ;) }) (else_clause "else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }" else (compound_statement "{\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }" { (expression_statement "pcVar9 = "right operand is a float; integer 0 assumed";" (assignment_expression "pcVar9 = "right operand is a float; integer 0 assumed"" identifier = (string_literal ""right operand is a float; integer 0 assumed"" " string_content ")) ;) }))) (expression_statement "uVar7 = dcgettext(0,pcVar9,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar9,5)" identifier = (call_expression "dcgettext(0,pcVar9,5)" identifier (argument_list "(0,pcVar9,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "local_20 = '\x02';" (assignment_expression "local_20 = '\x02'" identifier = (char_literal "'\x02'" ' escape_sequence ')) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_30 = (byte *)0x0;" (assignment_expression "local_30 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (if_statement "if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(iVar11 != 0x13)" ( (binary_expression "iVar11 != 0x13" identifier != number_literal) )) (compound_statement "{\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" { (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" identifier = (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (if_statement "if (iVar11 != 0x14) goto LAB_000223e8;" if (parenthesized_expression "(iVar11 != 0x14)" ( (binary_expression "iVar11 != 0x14" identifier != number_literal) )) (goto_statement "goto LAB_000223e8;" goto statement_identifier ;)) (if_statement "if (cVar12 == '\x05') goto LAB_00022cb4;" if (parenthesized_expression "(cVar12 == '\x05')" ( (binary_expression "cVar12 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022cb4;" goto statement_identifier ;)) (labeled_statement "LAB_00022980:\n        uVar16 = param_2[2];" statement_identifier : (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;)) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);" (assignment_expression "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "(uVar19 - local_24) - (uint)(uVar16 < local_28)" (parenthesized_expression "(uVar19 - local_24)" ( (binary_expression "uVar19 - local_24" identifier - identifier) )) - (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_28)" ( (binary_expression "uVar16 < local_28" identifier < identifier) ))))) ;) (expression_statement "bVar5 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar5 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "param_2[2] = uVar16 - local_28;" (assignment_expression "param_2[2] = uVar16 - local_28" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar16 - local_28" identifier - identifier)) ;) (expression_statement "bVar13 = (bVar5 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (bVar5 ^ local_1f) >> 1 & 1" identifier = (binary_expression "(bVar5 ^ local_1f) >> 1 & 1" (binary_expression "(bVar5 ^ local_1f) >> 1" (parenthesized_expression "(bVar5 ^ local_1f)" ( (binary_expression "bVar5 ^ local_1f" identifier ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;" if (parenthesized_expression "(uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28))" ( (binary_expression "uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 < local_24" identifier < identifier) || (binary_expression "uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 - local_24" identifier - identifier) < (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_28)" ( (binary_expression "uVar16 < local_28" identifier < identifier) ))))) )) (goto_statement "goto LAB_0002301d;" goto statement_identifier ;)) (labeled_statement "LAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;" statement_identifier : (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 * '\x02' | bVar5 & 0xfd" (binary_expression "bVar13 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar5 & 0xfd" identifier & number_literal))) ;)) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (if_statement "if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }" if (parenthesized_expression "((char)param_2[4] != '\x05')" ( (binary_expression "(char)param_2[4] != '\x05'" (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) != (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }" { (expression_statement "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" identifier = (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1" (parenthesized_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f)" ( (binary_expression "*(byte *)((int)param_2 + 0x11) ^ local_1f" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ^ identifier) )) >> number_literal) & number_literal)) ;) (labeled_statement "LAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';" statement_identifier : (expression_statement "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02'" (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "bVar13 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;)) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (labeled_statement "LAB_00022c1a:\n      local_94._0_1_ = 0x13;" statement_identifier : (expression_statement "local_94._0_1_ = 0x13;" (assignment_expression "local_94._0_1_ = 0x13" (field_expression "local_94._0_1_" identifier . field_identifier) = number_literal) ;)) (goto_statement "goto LAB_00022406;" goto statement_identifier ;) })) (if_statement "if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }" if (parenthesized_expression "(iVar11 == 0x13)" ( (binary_expression "iVar11 == 0x13" identifier == number_literal) )) (compound_statement "{\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }" { (if_statement "if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(local_20 == '\x02')" ( (binary_expression "local_20 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" { (if_statement "if ((char)param_2[4] == '\x05') goto LAB_00022c1a;" if (parenthesized_expression "((char)param_2[4] == '\x05')" ( (binary_expression "(char)param_2[4] == '\x05'" (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) == (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022c1a;" goto statement_identifier ;)) (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "bVar5 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar5 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);" (assignment_expression "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" identifier = (binary_expression "uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" (binary_expression "uVar19 + local_24" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar16,local_28)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar16,local_28)" identifier (argument_list "(uVar16,local_28)" ( identifier , identifier )))))) ;) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[2] = uVar16 + local_28;" (assignment_expression "param_2[2] = uVar16 + local_28" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar16 + local_28" identifier + identifier)) ;) (expression_statement "bVar13 = (bVar5 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (bVar5 ^ local_1f) >> 1 & 1" identifier = (binary_expression "(bVar5 ^ local_1f) >> 1 & 1" (binary_expression "(bVar5 ^ local_1f) >> 1" (parenthesized_expression "(bVar5 ^ local_1f)" ( (binary_expression "bVar5 ^ local_1f" identifier ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;" if (parenthesized_expression "(uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)" ( (binary_expression "uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (binary_expression "uVar19 <= uVar15" identifier <= identifier) && (binary_expression "(uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (call_expression "(uint)(uVar16 + local_28 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 + local_28 < uVar16)" ( (binary_expression "uVar16 + local_28 < uVar16" (binary_expression "uVar16 + local_28" identifier + identifier) < identifier) ))) <= (binary_expression "uVar15 - uVar19" identifier - identifier))) )) (goto_statement "goto LAB_00023225;" goto statement_identifier ;)) (labeled_statement "LAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;" statement_identifier : (expression_statement "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (binary_expression "(bVar13 ^ 1) * '\x02'" (parenthesized_expression "(bVar13 ^ 1)" ( (binary_expression "bVar13 ^ 1" identifier ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar5 & 0xfd" identifier & number_literal))) ;)) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" identifier = (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (if_statement "if (cVar12 != '\x02') goto LAB_000223f1;" if (parenthesized_expression "(cVar12 != '\x02')" ( (binary_expression "cVar12 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (goto_statement "goto LAB_000223f1;" goto statement_identifier ;)) (if_statement "if (local_20 == '\x05') goto LAB_00022a33;" if (parenthesized_expression "(local_20 == '\x05')" ( (binary_expression "local_20 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022a33;" goto statement_identifier ;)) (expression_statement "uVar16 = param_2[3];" (assignment_expression "uVar16 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "*(char *)(param_2 + 4) = local_20;" (assignment_expression "*(char *)(param_2 + 4) = local_20" (pointer_expression "*(char *)(param_2 + 4)" * (cast_expression "(char *)(param_2 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*param_2 = (int)local_30;" (assignment_expression "*param_2 = (int)local_30" (pointer_expression "*param_2" * identifier) = (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "param_2[1] = local_2c;" (assignment_expression "param_2[1] = local_2c" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar19 = param_2[2];" (assignment_expression "uVar19 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);" (assignment_expression "uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28)" identifier = (binary_expression "uVar16 + local_24 + (uint)CARRY4(uVar19,local_28)" (binary_expression "uVar16 + local_24" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar19,local_28)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar19,local_28)" identifier (argument_list "(uVar19,local_28)" ( identifier , identifier )))))) ;) (expression_statement "param_2[2] = uVar19 + local_28;" (assignment_expression "param_2[2] = uVar19 + local_28" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar19 + local_28" identifier + identifier)) ;) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" identifier = (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1" (parenthesized_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f)" ( (binary_expression "*(byte *)((int)param_2 + 0x11) ^ local_1f" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }" if (parenthesized_expression "(uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19))" ( (binary_expression "uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)" (binary_expression "uVar15 < uVar16" identifier < identifier) || (binary_expression "uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)" (binary_expression "uVar15 - uVar16" identifier - identifier) < (call_expression "(uint)(uVar19 + local_28 < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 + local_28 < uVar19)" ( (binary_expression "uVar19 + local_28 < uVar19" (binary_expression "uVar19 + local_28" identifier + identifier) < identifier) ))))) )) (compound_statement "{\n        bVar13 = bVar13 ^ 1;\n      }" { (expression_statement "bVar13 = bVar13 ^ 1;" (assignment_expression "bVar13 = bVar13 ^ 1" identifier = (binary_expression "bVar13 ^ 1" identifier ^ number_literal)) ;) })) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd" (binary_expression "bVar13 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal))) ;) (expression_statement "local_80 = puVar8;" (assignment_expression "local_80 = puVar8" identifier = identifier) ;) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;) })) (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" identifier = (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (if_statement "if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }" if (parenthesized_expression "(iVar11 == 0x14)" ( (binary_expression "iVar11 == 0x14" identifier == number_literal) )) (compound_statement "{\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }" { (if_statement "if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }" if (parenthesized_expression "(local_20 == '\x03')" ( (binary_expression "local_20 == '\x03'" identifier == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }" { (if_statement "if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;" if (parenthesized_expression "((cVar12 != '\x03') || (puVar8 != puVar2))" ( (binary_expression "(cVar12 != '\x03') || (puVar8 != puVar2)" (parenthesized_expression "(cVar12 != '\x03')" ( (binary_expression "cVar12 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) )) || (parenthesized_expression "(puVar8 != puVar2)" ( (binary_expression "puVar8 != puVar2" identifier != identifier) ))) )) (goto_statement "goto LAB_000223e8;" goto statement_identifier ;)) (expression_statement "pbVar17 = (byte *)*param_2;" (assignment_expression "pbVar17 = (byte *)*param_2" identifier = (cast_expression "(byte *)*param_2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (if_statement "if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" if (parenthesized_expression "((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8))))" ( (binary_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))" (parenthesized_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0" identifier == (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal)) )) || (parenthesized_expression "(((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))" ( (parenthesized_expression "((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8))" ( (binary_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)" (parenthesized_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8))" ( (binary_expression "puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)" (binary_expression "puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180" identifier == (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal)) || (parenthesized_expression "(DAT_000897ec == puVar8)" ( (binary_expression "DAT_000897ec == puVar8" identifier == identifier) ))) )) || (parenthesized_expression "(DAT_00089720 == puVar8)" ( (binary_expression "DAT_00089720 == puVar8" identifier == identifier) ))) )) ))) )) (compound_statement "{\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }" { (labeled_statement "LAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;" statement_identifier : (if_statement "if (local_30 == pbVar17) goto LAB_000234b2;" if (parenthesized_expression "(local_30 == pbVar17)" ( (binary_expression "local_30 == pbVar17" identifier == identifier) )) (goto_statement "goto LAB_000234b2;" goto statement_identifier ;))) }) (else_clause "else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" else (compound_statement "{\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" { (expression_statement "iVar6 = FUN_00038720(pbVar17,0);" (assignment_expression "iVar6 = FUN_00038720(pbVar17,0)" identifier = (call_expression "FUN_00038720(pbVar17,0)" identifier (argument_list "(pbVar17,0)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }" if (parenthesized_expression "((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0))" ( (binary_expression "(iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0" (assignment_expression "iVar6 = FUN_00038720(local_30,0)" identifier = (call_expression "FUN_00038720(local_30,0)" identifier (argument_list "(local_30,0)" ( identifier , number_literal )))) , (comma_expression "pbVar17 = local_30, iVar6 != 0" (assignment_expression "pbVar17 = local_30" identifier = identifier) , (binary_expression "iVar6 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }" { (expression_statement "pbVar17 = (byte *)*param_2;" (assignment_expression "pbVar17 = (byte *)*param_2" identifier = (cast_expression "(byte *)*param_2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (goto_statement "goto LAB_00022c90;" goto statement_identifier ;) })) (labeled_statement "LAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);" statement_identifier : (expression_statement "uVar7 = FUN_0003b830(pbVar17);" (assignment_expression "uVar7 = FUN_0003b830(pbVar17)" identifier = (call_expression "FUN_0003b830(pbVar17)" identifier (argument_list "(pbVar17)" ( identifier )))) ;)) (expression_statement "uVar10 = FUN_0003b830(*param_2);" (assignment_expression "uVar10 = FUN_0003b830(*param_2)" identifier = (call_expression "FUN_0003b830(*param_2)" identifier (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) )))) ;) (expression_statement "iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);" (assignment_expression "iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c)" identifier = (call_expression "FUN_00024ed0(uVar10,uVar7,&local_3c)" identifier (argument_list "(uVar10,uVar7,&local_3c)" ( identifier , identifier , (pointer_expression "&local_3c" & identifier) )))) ;) (if_statement "if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }" { (expression_statement "lVar22 = FUN_0003a3c0(*param_2);" (assignment_expression "lVar22 = FUN_0003a3c0(*param_2)" identifier = (call_expression "FUN_0003a3c0(*param_2)" identifier (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) )))) ;) (expression_statement "lVar23 = FUN_0003a3c0(local_30);" (assignment_expression "lVar23 = FUN_0003a3c0(local_30)" identifier = (call_expression "FUN_0003a3c0(local_30)" identifier (argument_list "(local_30)" ( identifier )))) ;) (expression_statement "uVar16 = param_2[3];" (assignment_expression "uVar16 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = param_2[2];" (assignment_expression "uVar19 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "pbVar17 = (byte *)(uVar19 - local_28);" (assignment_expression "pbVar17 = (byte *)(uVar19 - local_28)" identifier = (cast_expression "(byte *)(uVar19 - local_28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar19 - local_28)" ( (binary_expression "uVar19 - local_28" identifier - identifier) )))) ;) (expression_statement "uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);" (assignment_expression "uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28)" identifier = (binary_expression "(uVar16 - local_24) - (uint)(uVar19 < local_28)" (parenthesized_expression "(uVar16 - local_24)" ( (binary_expression "uVar16 - local_24" identifier - identifier) )) - (call_expression "(uint)(uVar19 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < local_28)" ( (binary_expression "uVar19 < local_28" identifier < identifier) ))))) ;) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "param_2[2] = (int)pbVar17;" (assignment_expression "param_2[2] = (int)pbVar17" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "bVar5 = (bVar13 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar5 = (bVar13 ^ local_1f) >> 1 & 1" identifier = (binary_expression "(bVar13 ^ local_1f) >> 1 & 1" (binary_expression "(bVar13 ^ local_1f) >> 1" (parenthesized_expression "(bVar13 ^ local_1f)" ( (binary_expression "bVar13 ^ local_1f" identifier ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" if (parenthesized_expression "(uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28))" ( (binary_expression "uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)" (binary_expression "uVar16 < local_24" identifier < identifier) || (binary_expression "uVar16 - local_24 < (uint)(uVar19 < local_28)" (binary_expression "uVar16 - local_24" identifier - identifier) < (call_expression "(uint)(uVar19 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < local_28)" ( (binary_expression "uVar19 < local_28" identifier < identifier) ))))) )) (compound_statement "{\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" { (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" identifier = (binary_expression "bVar5 ^ 1" identifier ^ number_literal)) ;) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 & 0xfd | bVar5 * '\x02'" (binary_expression "bVar13 & 0xfd" identifier & number_literal) | (binary_expression "bVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) }) (else_clause "else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" else (compound_statement "{\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" { (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 & 0xfd | bVar5 * '\x02'" (binary_expression "bVar13 & 0xfd" identifier & number_literal) | (binary_expression "bVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) }))) (expression_statement "uVar16 = (int)pbVar17 - (int)local_3c;" (assignment_expression "uVar16 = (int)pbVar17 - (int)local_3c" identifier = (binary_expression "(int)pbVar17 - (int)local_3c" (cast_expression "(int)pbVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);" (assignment_expression "uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c)" identifier = (binary_expression "(uVar15 - local_38) - (uint)(pbVar17 < local_3c)" (parenthesized_expression "(uVar15 - local_38)" ( (binary_expression "uVar15 - local_38" identifier - identifier) )) - (call_expression "(uint)(pbVar17 < local_3c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar17 < local_3c)" ( (binary_expression "pbVar17 < local_3c" identifier < identifier) ))))) ;) (expression_statement "param_2[2] = uVar16;" (assignment_expression "param_2[2] = uVar16" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[3] = uVar19;" (assignment_expression "param_2[3] = uVar19" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }" if (parenthesized_expression "(uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c))" ( (binary_expression "uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)" (binary_expression "uVar15 < local_38" identifier < identifier) || (binary_expression "uVar15 - local_38 < (uint)(pbVar17 < local_3c)" (binary_expression "uVar15 - local_38" identifier - identifier) < (call_expression "(uint)(pbVar17 < local_3c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar17 < local_3c)" ( (binary_expression "pbVar17 < local_3c" identifier < identifier) ))))) )) (compound_statement "{\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }" { (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" identifier = (binary_expression "bVar5 ^ 1" identifier ^ number_literal)) ;) (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02'" identifier = (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02'" (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | (binary_expression "bVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }" else (compound_statement "{\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }" { (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (expression_statement "lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);" (assignment_expression "lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16)" identifier = (binary_expression "(lVar22 - lVar23) + CONCAT44(uVar19,uVar16)" (parenthesized_expression "(lVar22 - lVar23)" ( (binary_expression "lVar22 - lVar23" identifier - identifier) )) + (call_expression "CONCAT44(uVar19,uVar16)" identifier (argument_list "(uVar19,uVar16)" ( identifier , identifier ))))) ;) (expression_statement "uVar15 = (uint)((ulonglong)lVar1 >> 0x20);" (assignment_expression "uVar15 = (uint)((ulonglong)lVar1 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar1 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar1 >> 0x20)" ( (binary_expression "(ulonglong)lVar1 >> 0x20" (cast_expression "(ulonglong)lVar1" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(longlong *)(param_2 + 2) = lVar1;" (assignment_expression "*(longlong *)(param_2 + 2) = lVar1" (pointer_expression "*(longlong *)(param_2 + 2)" * (cast_expression "(longlong *)(param_2 + 2)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 2)" ( (binary_expression "param_2 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);" (assignment_expression "bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f)" identifier = (binary_expression "bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f)" identifier ^ (call_expression "(byte)((ulonglong)(lVar22 - lVar23) >> 0x3f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((ulonglong)(lVar22 - lVar23) >> 0x3f)" ( (binary_expression "(ulonglong)(lVar22 - lVar23) >> 0x3f" (call_expression "(ulonglong)(lVar22 - lVar23)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar22 - lVar23)" ( (binary_expression "lVar22 - lVar23" identifier - identifier) ))) >> number_literal) ))))) ;) (if_statement "if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }" if (parenthesized_expression "(uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16))" ( (binary_expression "uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)" (binary_expression "uVar15 < uVar19" identifier < identifier) || (binary_expression "uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)" (binary_expression "uVar15 - uVar19" identifier - identifier) < (call_expression "(uint)((uint)lVar1 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)lVar1 < uVar16)" ( (binary_expression "(uint)lVar1 < uVar16" (cast_expression "(uint)lVar1" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))))) )) (compound_statement "{\n              bVar5 = bVar5 ^ 1;\n            }" { (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" identifier = (binary_expression "bVar5 ^ 1" identifier ^ number_literal)) ;) })) (expression_statement "*(undefined1 *)(param_2 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_2 + 4) = 2" (pointer_expression "*(undefined1 *)(param_2 + 4)" * (cast_expression "(undefined1 *)(param_2 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 & 0xfd | bVar5 * '\x02'" (binary_expression "bVar13 & 0xfd" identifier & number_literal) | (binary_expression "bVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')))) ;) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;) })) }))) (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" identifier = (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) })) (if_statement "if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }" if (parenthesized_expression "(local_20 == '\x02')" ( (binary_expression "local_20 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }" { (if_statement "if (cVar12 != '\x05') goto LAB_00022980;" if (parenthesized_expression "(cVar12 != '\x05')" ( (binary_expression "cVar12 != '\x05'" identifier != (char_literal "'\x05'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022980;" goto statement_identifier ;)) (labeled_statement "LAB_00022cb4:\n        local_94._0_1_ = 0x14;" statement_identifier : (expression_statement "local_94._0_1_ = 0x14;" (assignment_expression "local_94._0_1_ = 0x14" (field_expression "local_94._0_1_" identifier . field_identifier) = number_literal) ;)) (goto_statement "goto LAB_00022406;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000223e8:\n    uVar19 = local_24;" statement_identifier : (expression_statement "uVar19 = local_24;" (assignment_expression "uVar19 = local_24" identifier = identifier) ;)) (expression_statement "uVar16 = local_28;" (assignment_expression "uVar16 = local_28" identifier = identifier) ;) (if_statement "if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }" if (parenthesized_expression "(cVar12 != '\x02')" ( (binary_expression "cVar12 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }" { (labeled_statement "LAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;" statement_identifier : (if_statement "if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;" if (parenthesized_expression "((cVar12 != '\x03') || (local_20 != '\x03'))" ( (binary_expression "(cVar12 != '\x03') || (local_20 != '\x03')" (parenthesized_expression "(cVar12 != '\x03')" ( (binary_expression "cVar12 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) )) || (parenthesized_expression "(local_20 != '\x03')" ( (binary_expression "local_20 != '\x03'" identifier != (char_literal "'\x03'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00022406;" goto statement_identifier ;))) (if_statement "if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(1 < iVar11 - 0x13U)" ( (binary_expression "1 < iVar11 - 0x13U" number_literal < (binary_expression "iVar11 - 0x13U" identifier - number_literal)) )) (compound_statement "{\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }" { (if_statement "if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;" if (parenthesized_expression "((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))" ( (binary_expression "(param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0)" (parenthesized_expression "(param_2[3] != 0 || local_24 != 0)" ( (binary_expression "param_2[3] != 0 || local_24 != 0" (binary_expression "param_2[3] != 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) != number_literal) || (binary_expression "local_24 != 0" identifier != number_literal)) )) || (parenthesized_expression "(param_2[2] != 0 || local_28 != 0)" ( (binary_expression "param_2[2] != 0 || local_28 != 0" (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) != number_literal) || (binary_expression "local_28 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00022406;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)(param_2 + 4) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(param_2 + 4) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(param_2 + 4)" * (cast_expression "(undefined1 *)(param_2 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "param_2[1] = (int)local_30;" (assignment_expression "param_2[1] = (int)local_30" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "*(undefined1 *)(param_2 + 4) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(param_2 + 4) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(param_2 + 4)" * (cast_expression "(undefined1 *)(param_2 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "param_2[1] = (int)local_30;" (assignment_expression "param_2[1] = (int)local_30" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" if (parenthesized_expression "(iVar11 == 0x13)" ( (binary_expression "iVar11 == 0x13" identifier == number_literal) )) (compound_statement "{\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" { (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "bVar5 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar5 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);" (assignment_expression "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" identifier = (binary_expression "uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" (binary_expression "uVar19 + local_24" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar16,local_28)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar16,local_28)" identifier (argument_list "(uVar16,local_28)" ( identifier , identifier )))))) ;) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[2] = uVar16 + local_28;" (assignment_expression "param_2[2] = uVar16 + local_28" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar16 + local_28" identifier + identifier)) ;) (expression_statement "bVar13 = (bVar5 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (bVar5 ^ local_1f) >> 1 & 1" identifier = (binary_expression "(bVar5 ^ local_1f) >> 1 & 1" (binary_expression "(bVar5 ^ local_1f) >> 1" (parenthesized_expression "(bVar5 ^ local_1f)" ( (binary_expression "bVar5 ^ local_1f" identifier ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;" if (parenthesized_expression "(uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)" ( (binary_expression "uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (binary_expression "uVar19 <= uVar15" identifier <= identifier) && (binary_expression "(uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (call_expression "(uint)(uVar16 + local_28 < uVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 + local_28 < uVar16)" ( (binary_expression "uVar16 + local_28 < uVar16" (binary_expression "uVar16 + local_28" identifier + identifier) < identifier) ))) <= (binary_expression "uVar15 - uVar19" identifier - identifier))) )) (goto_statement "goto LAB_000229b7;" goto statement_identifier ;)) (expression_statement "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (binary_expression "(bVar13 ^ 1) * '\x02'" (parenthesized_expression "(bVar13 ^ 1)" ( (binary_expression "bVar13 ^ 1" identifier ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar5 & 0xfd" identifier & number_literal))) ;) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[2] = uVar16 - local_28;" (assignment_expression "param_2[2] = uVar16 - local_28" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar16 - local_28" identifier - identifier)) ;) (expression_statement "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);" (assignment_expression "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "(uVar19 - local_24) - (uint)(uVar16 < local_28)" (parenthesized_expression "(uVar19 - local_24)" ( (binary_expression "uVar19 - local_24" identifier - identifier) )) - (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_28)" ( (binary_expression "uVar16 < local_28" identifier < identifier) ))))) ;) (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar5 = (local_1f ^ bVar13) >> 1 & 1;" (assignment_expression "bVar5 = (local_1f ^ bVar13) >> 1 & 1" identifier = (binary_expression "(local_1f ^ bVar13) >> 1 & 1" (binary_expression "(local_1f ^ bVar13) >> 1" (parenthesized_expression "(local_1f ^ bVar13)" ( (binary_expression "local_1f ^ bVar13" identifier ^ identifier) )) >> number_literal) & number_literal)) ;) (if_statement "if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }" if (parenthesized_expression "(uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28))" ( (binary_expression "uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 < local_24" identifier < identifier) || (binary_expression "uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 - local_24" identifier - identifier) < (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_28)" ( (binary_expression "uVar16 < local_28" identifier < identifier) ))))) )) (compound_statement "{\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }" { (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar13 & 0xfd | (bVar5 ^ 1) * '\x02'" (binary_expression "bVar13 & 0xfd" identifier & number_literal) | (binary_expression "(bVar5 ^ 1) * '\x02'" (parenthesized_expression "(bVar5 ^ 1)" ( (binary_expression "bVar5 ^ 1" identifier ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')))) ;) }) (else_clause "else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }" else (compound_statement "{\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }" { (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar5 * '\x02' | bVar13 & 0xfd" (binary_expression "bVar5 * '\x02'" identifier * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "bVar13 & 0xfd" identifier & number_literal))) ;) }))) (expression_statement "puVar18 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar18 = PTR__bfd_std_section_0007ffb0" identifier = identifier) ;) (if_statement "if (puVar8 != puVar2) goto LAB_00022450;" if (parenthesized_expression "(puVar8 != puVar2)" ( (binary_expression "puVar8 != puVar2" identifier != identifier) )) (goto_statement "goto LAB_00022450;" goto statement_identifier ;)) (if_statement "if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }" if (parenthesized_expression "(puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180)" ( (binary_expression "puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180" identifier == (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal)) )) (compound_statement "{\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }" { (labeled_statement "LAB_00023318:\n        local_80 = puVar18 + 0x180;" statement_identifier : (expression_statement "local_80 = puVar18 + 0x180;" (assignment_expression "local_80 = puVar18 + 0x180" identifier = (binary_expression "puVar18 + 0x180" identifier + number_literal)) ;)) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;) })) (if_statement "if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }" if (parenthesized_expression "(puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0)" ( (binary_expression "puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0" identifier != (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" identifier + number_literal)) )) (compound_statement "{\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }" { (if_statement "if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;" if (parenthesized_expression "((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0))" ( (binary_expression "(((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)" (parenthesized_expression "(((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0))" ( (binary_expression "((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)" (parenthesized_expression "((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2))" ( (binary_expression "(DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)" (parenthesized_expression "(DAT_000897ec == puVar2)" ( (binary_expression "DAT_000897ec == puVar2" identifier == identifier) )) || (parenthesized_expression "(DAT_00089720 == puVar2)" ( (binary_expression "DAT_00089720 == puVar2" identifier == identifier) ))) )) || (parenthesized_expression "(iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)" ( (comma_expression "iVar11 = FUN_00038720(*param_2,0), iVar11 != 0" (assignment_expression "iVar11 = FUN_00038720(*param_2,0)" identifier = (call_expression "FUN_00038720(*param_2,0)" identifier (argument_list "(*param_2,0)" ( (pointer_expression "*param_2" * identifier) , number_literal )))) , (binary_expression "iVar11 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar11 = FUN_00038720(local_30,0), iVar11 != 0)" ( (comma_expression "iVar11 = FUN_00038720(local_30,0), iVar11 != 0" (assignment_expression "iVar11 = FUN_00038720(local_30,0)" identifier = (call_expression "FUN_00038720(local_30,0)" identifier (argument_list "(local_30,0)" ( identifier , number_literal )))) , (binary_expression "iVar11 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_000224e0;" goto statement_identifier ;)) (goto_statement "goto LAB_00023318;" goto statement_identifier ;) })) (goto_statement "goto LAB_000228f0;" goto statement_identifier ;) })) (if_statement "if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }" if (parenthesized_expression "(local_20 != '\x02')" ( (binary_expression "local_20 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }" { (labeled_statement "LAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);" statement_identifier : (labeled_statement "LAB_00022406:\n      iVar6 = FUN_00021220(param_2);" statement_identifier : (expression_statement "iVar6 = FUN_00021220(param_2);" (assignment_expression "iVar6 = FUN_00021220(param_2)" identifier = (call_expression "FUN_00021220(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;))) (expression_statement "*param_2 = iVar6;" (assignment_expression "*param_2 = iVar6" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "iVar6 = FUN_00021220(&local_30);" (assignment_expression "iVar6 = FUN_00021220(&local_30)" identifier = (call_expression "FUN_00021220(&local_30)" identifier (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[1] = iVar6;" (assignment_expression "param_2[1] = iVar6" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(param_2 + 4) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(param_2 + 4) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(param_2 + 4)" * (cast_expression "(undefined1 *)(param_2 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfc | 1" (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfc" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_00022442;" goto statement_identifier ;) })) (expression_statement "local_5c = local_28;" (assignment_expression "local_5c = local_28" identifier = identifier) ;) (expression_statement "local_58 = local_24;" (assignment_expression "local_58 = local_24" identifier = identifier) ;) (if_statement "if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" if (parenthesized_expression "(local_24 == 0 && local_28 == 0)" ( (binary_expression "local_24 == 0 && local_28 == 0" (binary_expression "local_24 == 0" identifier == number_literal) && (binary_expression "local_28 == 0" identifier == number_literal)) )) (compound_statement "{\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }" { (if_statement "if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }" if (parenthesized_expression "(iVar11 - 0xbU < 2)" ( (binary_expression "iVar11 - 0xbU < 2" (binary_expression "iVar11 - 0xbU" identifier - number_literal) < number_literal) )) (compound_statement "{\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }" { (expression_statement "uVar7 = dcgettext(0,"division by zero",5);" (assignment_expression "uVar7 = dcgettext(0,"division by zero",5)" identifier = (call_expression "dcgettext(0,"division by zero",5)" identifier (argument_list "(0,"division by zero",5)" ( number_literal , (string_literal ""division by zero"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "local_5c = 1;" (assignment_expression "local_5c = 1" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) })) }) (else_clause "else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" else (if_statement "if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" if (parenthesized_expression "((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2))" ( (binary_expression "(local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)" (parenthesized_expression "(local_24 != 0 || -local_24 < (uint)(0x3f < local_28))" ( (binary_expression "local_24 != 0 || -local_24 < (uint)(0x3f < local_28)" (binary_expression "local_24 != 0" identifier != number_literal) || (binary_expression "-local_24 < (uint)(0x3f < local_28)" (unary_expression "-local_24" - identifier) < (call_expression "(uint)(0x3f < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3f < local_28)" ( (binary_expression "0x3f < local_28" number_literal < identifier) ))))) )) && (parenthesized_expression "(iVar11 - 0xdU < 2)" ( (binary_expression "iVar11 - 0xdU < 2" (binary_expression "iVar11 - 0xdU" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" { (expression_statement "uVar7 = dcgettext(0,"shift count",5);" (assignment_expression "uVar7 = dcgettext(0,"shift count",5)" identifier = (call_expression "dcgettext(0,"shift count",5)" identifier (argument_list "(0,"shift count",5)" ( number_literal , (string_literal ""shift count"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);" (call_expression "FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0)" identifier (argument_list "(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0)" ( identifier , identifier , identifier , number_literal , number_literal , number_literal , number_literal , number_literal , number_literal ))) ;) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) })))) (switch_statement "switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }" switch (parenthesized_expression "(iVar11)" ( identifier )) (compound_statement "{\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }" { (case_statement "case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;" case number_literal : (expression_statement "iVar6 = param_2[2];" (assignment_expression "iVar6 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);" (assignment_expression "param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16)" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)local_5c * (ulonglong)uVar16)" ( (binary_expression "(ulonglong)local_5c * (ulonglong)uVar16" (cast_expression "(ulonglong)local_5c" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) )))) ;) (expression_statement "param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;" (assignment_expression "param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58" (binary_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c" (cast_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20)" ( (binary_expression "(ulonglong)local_5c * (ulonglong)uVar16 >> 0x20" (binary_expression "(ulonglong)local_5c * (ulonglong)uVar16" (cast_expression "(ulonglong)local_5c" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) >> number_literal) ))) + (binary_expression "param_2[3] * local_5c" (subscript_expression "param_2[3]" identifier [ number_literal ]) * identifier)) + (binary_expression "iVar6 * local_58" identifier * identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;" case number_literal : (expression_statement "uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);" (assignment_expression "uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58)" identifier = (call_expression "FUN_00059a10(param_2[2],param_2[3],local_5c,local_58)" identifier (argument_list "(param_2[2],param_2[3],local_5c,local_58)" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , (subscript_expression "param_2[3]" identifier [ number_literal ]) , identifier , identifier )))) ;) (expression_statement "*(undefined8 *)(param_2 + 2) = uVar21;" (assignment_expression "*(undefined8 *)(param_2 + 2) = uVar21" (pointer_expression "*(undefined8 *)(param_2 + 2)" * (cast_expression "(undefined8 *)(param_2 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 2)" ( (binary_expression "param_2 + 2" identifier + number_literal) )))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;" case number_literal : (expression_statement "uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);" (assignment_expression "uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58)" identifier = (call_expression "FUN_00059b60(param_2[2],param_2[3],local_5c,local_58)" identifier (argument_list "(param_2[2],param_2[3],local_5c,local_58)" ( (subscript_expression "param_2[2]" identifier [ number_literal ]) , (subscript_expression "param_2[3]" identifier [ number_literal ]) , identifier , identifier )))) ;) (expression_statement "*(undefined8 *)(param_2 + 2) = uVar21;" (assignment_expression "*(undefined8 *)(param_2 + 2) = uVar21" (pointer_expression "*(undefined8 *)(param_2 + 2)" * (cast_expression "(undefined8 *)(param_2 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 2)" ( (binary_expression "param_2 + 2" identifier + number_literal) )))) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;" case number_literal : (expression_statement "uVar15 = param_2[2] << ((byte)local_5c & 0x1f);" (assignment_expression "uVar15 = param_2[2] << ((byte)local_5c & 0x1f)" identifier = (binary_expression "param_2[2] << ((byte)local_5c & 0x1f)" (subscript_expression "param_2[2]" identifier [ number_literal ]) << (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar19 = uVar15;" (assignment_expression "uVar19 = uVar15" identifier = identifier) ;) (expression_statement "uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);" (assignment_expression "uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f)" identifier = (binary_expression "param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f)" (binary_expression "param_2[3] << ((byte)local_5c & 0x1f)" (subscript_expression "param_2[3]" identifier [ number_literal ]) << (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "(uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f)" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) >> (binary_expression "0x20 - ((byte)local_5c & 0x1f)" number_literal - (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" if (parenthesized_expression "((local_5c & 0x20) != 0)" ( (binary_expression "(local_5c & 0x20) != 0" (parenthesized_expression "(local_5c & 0x20)" ( (binary_expression "local_5c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = uVar15;" (assignment_expression "uVar16 = uVar15" identifier = identifier) ;) })) (expression_statement "param_2[3] = uVar16;" (assignment_expression "param_2[3] = uVar16" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[2] = uVar19;" (assignment_expression "param_2[2] = uVar19" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;" case number_literal : (expression_statement "uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);" (assignment_expression "uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f)" identifier = (binary_expression "(uint)param_2[3] >> ((byte)local_5c & 0x1f)" (cast_expression "(uint)param_2[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[3]" identifier [ number_literal ])) >> (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar19 = uVar15;" (assignment_expression "uVar19 = uVar15" identifier = identifier) ;) (expression_statement "uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);" (assignment_expression "uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f)" identifier = (binary_expression "(uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f)" (binary_expression "(uint)param_2[2] >> ((byte)local_5c & 0x1f)" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) >> (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) | (binary_expression "param_2[3] << 0x20 - ((byte)local_5c & 0x1f)" (subscript_expression "param_2[3]" identifier [ number_literal ]) << (binary_expression "0x20 - ((byte)local_5c & 0x1f)" number_literal - (parenthesized_expression "((byte)local_5c & 0x1f)" ( (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))))) ;) (if_statement "if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" if (parenthesized_expression "((local_5c & 0x20) != 0)" ( (binary_expression "(local_5c & 0x20) != 0" (parenthesized_expression "(local_5c & 0x20)" ( (binary_expression "local_5c & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = uVar15;" (assignment_expression "uVar16 = uVar15" identifier = identifier) ;) })) (expression_statement "param_2[2] = uVar16;" (assignment_expression "param_2[2] = uVar16" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[3] = uVar19;" (assignment_expression "param_2[3] = uVar19" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;" case number_literal : (expression_statement "param_2[2] = param_2[2] | local_5c;" (assignment_expression "param_2[2] = param_2[2] | local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "param_2[2] | local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) | identifier)) ;) (expression_statement "param_2[3] = param_2[3] | local_58;" (assignment_expression "param_2[3] = param_2[3] | local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "param_2[3] | local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) | identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;" case number_literal : (expression_statement "param_2[2] = param_2[2] | ~local_5c;" (assignment_expression "param_2[2] = param_2[2] | ~local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "param_2[2] | ~local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) | (unary_expression "~local_5c" ~ identifier))) ;) (expression_statement "param_2[3] = param_2[3] | ~local_58;" (assignment_expression "param_2[3] = param_2[3] | ~local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "param_2[3] | ~local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) | (unary_expression "~local_58" ~ identifier))) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;" case number_literal : (expression_statement "param_2[2] = param_2[2] ^ local_5c;" (assignment_expression "param_2[2] = param_2[2] ^ local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "param_2[2] ^ local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) ^ identifier)) ;) (expression_statement "param_2[3] = param_2[3] ^ local_58;" (assignment_expression "param_2[3] = param_2[3] ^ local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "param_2[3] ^ local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) ^ identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;" case number_literal : (expression_statement "param_2[2] = param_2[2] & local_5c;" (assignment_expression "param_2[2] = param_2[2] & local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "param_2[2] & local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) & identifier)) ;) (expression_statement "param_2[3] = param_2[3] & local_58;" (assignment_expression "param_2[3] = param_2[3] & local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "param_2[3] & local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) & identifier)) ;) (break_statement "break;" break ;)) (case_statement "default:\n      goto LAB_00022a33;" default : (goto_statement "goto LAB_00022a33;" goto statement_identifier ;)) (case_statement "case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;" case number_literal : (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[2] = uVar16 - local_5c;" (assignment_expression "param_2[2] = uVar16 - local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (binary_expression "uVar16 - local_5c" identifier - identifier)) ;) (expression_statement "param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);" (assignment_expression "param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (binary_expression "(uVar19 - local_58) - (uint)(uVar16 < local_5c)" (parenthesized_expression "(uVar19 - local_58)" ( (binary_expression "uVar19 - local_58" identifier - identifier) )) - (call_expression "(uint)(uVar16 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_5c)" ( (binary_expression "uVar16 < local_5c" identifier < identifier) ))))) ;) (if_statement "if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }" if (parenthesized_expression "(uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c))" ( (binary_expression "uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)" (binary_expression "uVar19 < local_58" identifier < identifier) || (binary_expression "uVar19 - local_58 < (uint)(uVar16 < local_5c)" (binary_expression "uVar19 - local_58" identifier - identifier) < (call_expression "(uint)(uVar16 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_5c)" ( (binary_expression "uVar16 < local_5c" identifier < identifier) ))))) )) (compound_statement "{\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }" { (expression_statement "*(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd" (binary_expression "(*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02'" (parenthesized_expression "(*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1)" ( (binary_expression "*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1" (binary_expression "*(byte *)((int)param_2 + 0x11) >> 1 & 1" (binary_expression "*(byte *)((int)param_2 + 0x11) >> 1" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ^ number_literal) )) * (char_literal "'\x02'" ' escape_sequence ')) | (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" * (cast_expression "(byte *)((int)param_2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x11)" ( (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;" case number_literal : (expression_statement "uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);" (assignment_expression "uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58)" identifier = (call_expression "(uint)(param_2[2] == local_5c && param_2[3] == local_58)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2[2] == local_5c && param_2[3] == local_58)" ( (binary_expression "param_2[2] == local_5c && param_2[3] == local_58" (binary_expression "param_2[2] == local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) == identifier) && (binary_expression "param_2[3] == local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) == identifier)) )))) ;) (goto_statement "goto code_r0x00022ed0;" goto statement_identifier ;)) (case_statement "case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;" case number_literal : (expression_statement "uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);" (assignment_expression "uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58)" identifier = (call_expression "(uint)(param_2[2] != local_5c || param_2[3] != local_58)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2[2] != local_5c || param_2[3] != local_58)" ( (binary_expression "param_2[2] != local_5c || param_2[3] != local_58" (binary_expression "param_2[2] != local_5c" (subscript_expression "param_2[2]" identifier [ number_literal ]) != identifier) || (binary_expression "param_2[3] != local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) != identifier)) )))) ;) (goto_statement "goto code_r0x00022ed0;" goto statement_identifier ;)) (case_statement "case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;" case number_literal : (expression_statement "iVar6 = param_2[3] - local_58;" (assignment_expression "iVar6 = param_2[3] - local_58" identifier = (binary_expression "param_2[3] - local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;" if (parenthesized_expression "((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0)" ( (binary_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (parenthesized_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c)))" ( (binary_expression "SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" (call_expression "SBORROW4(param_2[3],local_58)" identifier (argument_list "(param_2[3],local_58)" ( (subscript_expression "param_2[3]" identifier [ number_literal ]) , identifier ))) != (call_expression "SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" identifier (argument_list "(iVar6,(uint)((uint)param_2[2] < local_5c))" ( identifier , (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)param_2[2] < local_5c)" ( (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) < identifier) ))) )))) )) != (binary_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (cast_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - (uint)((uint)param_2[2] < local_5c))" ( (binary_expression "iVar6 - (uint)((uint)param_2[2] < local_5c)" identifier - (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)param_2[2] < local_5c)" ( (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) < identifier) )))) ))) < number_literal)) )) (goto_statement "goto code_r0x00022d74;" goto statement_identifier ;)) (labeled_statement "code_r0x00022d9e:\n      uVar16 = 0;" statement_identifier : (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;)) (goto_statement "goto code_r0x00022ed0;" goto statement_identifier ;)) (case_statement "case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;" case number_literal : (expression_statement "iVar6 = local_58 - param_2[3];" (assignment_expression "iVar6 = local_58 - param_2[3]" identifier = (binary_expression "local_58 - param_2[3]" identifier - (subscript_expression "param_2[3]" identifier [ number_literal ]))) ;) (if_statement "if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;" if (parenthesized_expression "((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0)" ( (binary_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (parenthesized_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2])))" ( (binary_expression "SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" (call_expression "SBORROW4(local_58,param_2[3])" identifier (argument_list "(local_58,param_2[3])" ( identifier , (subscript_expression "param_2[3]" identifier [ number_literal ]) ))) != (call_expression "SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" identifier (argument_list "(iVar6,(uint)(local_5c < (uint)param_2[2]))" ( identifier , (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_5c < (uint)param_2[2])" ( (binary_expression "local_5c < (uint)param_2[2]" identifier < (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ))) )))) )) != (binary_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (cast_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2]))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - (uint)(local_5c < (uint)param_2[2]))" ( (binary_expression "iVar6 - (uint)(local_5c < (uint)param_2[2])" identifier - (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_5c < (uint)param_2[2])" ( (binary_expression "local_5c < (uint)param_2[2]" identifier < (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) )))) ))) < number_literal)) )) (goto_statement "goto code_r0x00022d9e;" goto statement_identifier ;)) (goto_statement "goto code_r0x00022d74;" goto statement_identifier ;)) (case_statement "case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;" case number_literal : (expression_statement "iVar6 = param_2[3] - local_58;" (assignment_expression "iVar6 = param_2[3] - local_58" identifier = (binary_expression "param_2[3] - local_58" (subscript_expression "param_2[3]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;" if (parenthesized_expression "((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0)" ( (binary_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (parenthesized_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c)))" ( (binary_expression "SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" (call_expression "SBORROW4(param_2[3],local_58)" identifier (argument_list "(param_2[3],local_58)" ( (subscript_expression "param_2[3]" identifier [ number_literal ]) , identifier ))) != (call_expression "SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" identifier (argument_list "(iVar6,(uint)((uint)param_2[2] < local_5c))" ( identifier , (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)param_2[2] < local_5c)" ( (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) < identifier) ))) )))) )) != (binary_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (cast_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - (uint)((uint)param_2[2] < local_5c))" ( (binary_expression "iVar6 - (uint)((uint)param_2[2] < local_5c)" identifier - (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)param_2[2] < local_5c)" ( (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ])) < identifier) )))) ))) < number_literal)) )) (goto_statement "goto code_r0x00022d9e;" goto statement_identifier ;)) (goto_statement "goto code_r0x00022d74;" goto statement_identifier ;)) (case_statement "case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;" case number_literal : (expression_statement "iVar6 = local_58 - param_2[3];" (assignment_expression "iVar6 = local_58 - param_2[3]" identifier = (binary_expression "local_58 - param_2[3]" identifier - (subscript_expression "param_2[3]" identifier [ number_literal ]))) ;) (if_statement "if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;" if (parenthesized_expression "((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0)" ( (binary_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (parenthesized_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2])))" ( (binary_expression "SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" (call_expression "SBORROW4(local_58,param_2[3])" identifier (argument_list "(local_58,param_2[3])" ( identifier , (subscript_expression "param_2[3]" identifier [ number_literal ]) ))) != (call_expression "SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" identifier (argument_list "(iVar6,(uint)(local_5c < (uint)param_2[2]))" ( identifier , (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_5c < (uint)param_2[2])" ( (binary_expression "local_5c < (uint)param_2[2]" identifier < (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ))) )))) )) == (binary_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (cast_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2]))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - (uint)(local_5c < (uint)param_2[2]))" ( (binary_expression "iVar6 - (uint)(local_5c < (uint)param_2[2])" identifier - (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_5c < (uint)param_2[2])" ( (binary_expression "local_5c < (uint)param_2[2]" identifier < (cast_expression "(uint)param_2[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) )))) ))) < number_literal)) )) (goto_statement "goto code_r0x00022d9e;" goto statement_identifier ;)) (labeled_statement "code_r0x00022d74:\n      uVar16 = 1;" statement_identifier : (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;)) (labeled_statement "code_r0x00022ed0:\n      param_2[2] = -uVar16;" statement_identifier : (expression_statement "param_2[2] = -uVar16;" (assignment_expression "param_2[2] = -uVar16" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (unary_expression "-uVar16" - identifier)) ;)) (expression_statement "param_2[3] = -(uint)(uVar16 != 0);" (assignment_expression "param_2[3] = -(uint)(uVar16 != 0)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (unary_expression "-(uint)(uVar16 != 0)" - (call_expression "(uint)(uVar16 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;" case number_literal : (expression_statement "iVar6 = param_2[3];" (assignment_expression "iVar6 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));" (assignment_expression "param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0))" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (call_expression "(uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0))" ( (binary_expression "(param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0)" (parenthesized_expression "(param_2[2] != 0 || iVar6 != 0)" ( (binary_expression "param_2[2] != 0 || iVar6 != 0" (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) != number_literal) || (binary_expression "iVar6 != 0" identifier != number_literal)) )) && (parenthesized_expression "(local_5c != 0 || local_58 != 0)" ( (binary_expression "local_5c != 0 || local_58 != 0" (binary_expression "local_5c != 0" identifier != number_literal) || (binary_expression "local_58 != 0" identifier != number_literal)) ))) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));" case number_literal : (expression_statement "iVar6 = param_2[3];" (assignment_expression "iVar6 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));" (assignment_expression "param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0))" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (call_expression "(uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0))" ( (binary_expression "(param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0)" (parenthesized_expression "(param_2[2] != 0 || local_5c != 0)" ( (binary_expression "param_2[2] != 0 || local_5c != 0" (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" identifier [ number_literal ]) != number_literal) || (binary_expression "local_5c != 0" identifier != number_literal)) )) || (parenthesized_expression "(iVar6 != 0 || local_58 != 0)" ( (binary_expression "iVar6 != 0 || local_58 != 0" (binary_expression "iVar6 != 0" identifier != number_literal) || (binary_expression "local_58 != 0" identifier != number_literal)) ))) )))) ;)) })) (labeled_statement "LAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }" statement_identifier : (if_statement "if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }" if (parenthesized_expression "(puVar8 != puVar2)" ( (binary_expression "puVar8 != puVar2" identifier != identifier) )) (compound_statement "{\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }" { (labeled_statement "LAB_00022450:\n      puVar18 = puVar3;" statement_identifier : (expression_statement "puVar18 = puVar3;" (assignment_expression "puVar18 = puVar3" identifier = identifier) ;)) (if_statement "if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" if (parenthesized_expression "((puVar2 == puVar14) || (puVar8 == puVar14))" ( (binary_expression "(puVar2 == puVar14) || (puVar8 == puVar14)" (parenthesized_expression "(puVar2 == puVar14)" ( (binary_expression "puVar2 == puVar14" identifier == identifier) )) || (parenthesized_expression "(puVar8 == puVar14)" ( (binary_expression "puVar8 == puVar14" identifier == identifier) ))) )) (compound_statement "{\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }" { (labeled_statement "LAB_000228f0:\n        local_80 = puVar18 + 0xc0;" statement_identifier : (expression_statement "local_80 = puVar18 + 0xc0;" (assignment_expression "local_80 = puVar18 + 0xc0" identifier = (binary_expression "puVar18 + 0xc0" identifier + number_literal)) ;)) }) (else_clause "else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" else (if_statement "if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" if (parenthesized_expression "((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               ))))" ( (binary_expression "(((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))" (parenthesized_expression "(((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2))" ( (binary_expression "((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)" (parenthesized_expression "((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8))" ( (binary_expression "(DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)" (parenthesized_expression "(DAT_00089720 != puVar2)" ( (binary_expression "DAT_00089720 != puVar2" identifier != identifier) )) && (parenthesized_expression "(local_80 = puVar8, DAT_00089720 != puVar8)" ( (comma_expression "local_80 = puVar8, DAT_00089720 != puVar8" (assignment_expression "local_80 = puVar8" identifier = identifier) , (binary_expression "DAT_00089720 != puVar8" identifier != identifier)) ))) )) && (parenthesized_expression "(local_80 = puVar2, DAT_000897ec != puVar2)" ( (comma_expression "local_80 = puVar2, DAT_000897ec != puVar2" (assignment_expression "local_80 = puVar2" identifier = identifier) , (binary_expression "DAT_000897ec != puVar2" identifier != identifier)) ))) )) && (parenthesized_expression "(((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))" ( (parenthesized_expression "((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               ))" ( (binary_expression "(local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )" (parenthesized_expression "(local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180))" ( (comma_expression "local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)" (assignment_expression "local_80 = puVar8" identifier = identifier) , (binary_expression "DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)" (binary_expression "DAT_000897ec != puVar8" identifier != identifier) && (parenthesized_expression "(local_80 = puVar2, puVar8 != puVar3 + 0x180)" ( (comma_expression "local_80 = puVar2, puVar8 != puVar3 + 0x180" (assignment_expression "local_80 = puVar2" identifier = identifier) , (binary_expression "puVar8 != puVar3 + 0x180" identifier != (binary_expression "puVar3 + 0x180" identifier + number_literal))) )))) )) && (parenthesized_expression "((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )" ( (parenthesized_expression "(local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))" ( (comma_expression "local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14)" (assignment_expression "local_80 = puVar8" identifier = identifier) , (binary_expression "puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14)" (binary_expression "puVar2 != puVar3 + 0x180" identifier != (binary_expression "puVar3 + 0x180" identifier + number_literal)) && (parenthesized_expression "(local_80 = puVar2, iVar11 != 0x14)" ( (comma_expression "local_80 = puVar2, iVar11 != 0x14" (assignment_expression "local_80 = puVar2" identifier = identifier) , (binary_expression "iVar11 != 0x14" identifier != number_literal)) )))) )) ))) )) ))) )) (compound_statement "{\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" { (expression_statement "uVar7 = dcgettext(0,"operation combines symbols in different segments",5);" (assignment_expression "uVar7 = dcgettext(0,"operation combines symbols in different segments",5)" identifier = (call_expression "dcgettext(0,"operation combines symbols in different segments",5)" identifier (argument_list "(0,"operation combines symbols in different segments",5)" ( number_literal , (string_literal ""operation combines symbols in different segments"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar7);" (call_expression "FUN_0002bd60(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) })))) }))) (labeled_statement "LAB_000224e0:\n    if (local_88 == 0) break;" statement_identifier : (if_statement "if (local_88 == 0) break;" if (parenthesized_expression "(local_88 == 0)" ( (binary_expression "local_88 == 0" identifier == number_literal) )) (break_statement "break;" break ;))) (expression_statement "puVar2 = local_80;" (assignment_expression "puVar2 = local_80" identifier = identifier) ;) (expression_statement "iVar11 = local_88;" (assignment_expression "iVar11 = local_88" identifier = identifier) ;) (expression_statement "cVar12 = (&DAT_00080220)[local_88];" (assignment_expression "cVar12 = (&DAT_00080220)[local_88]" identifier = (subscript_expression "(&DAT_00080220)[local_88]" (parenthesized_expression "(&DAT_00080220)" ( (pointer_expression "&DAT_00080220" & identifier) )) [ identifier ])) ;) })) (labeled_statement "LAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }" statement_identifier : (if_statement "if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }" if (parenthesized_expression "(*param_2 != 0)" ( (binary_expression "*param_2 != 0" (pointer_expression "*param_2" * identifier) != number_literal) )) (compound_statement "{\n    FUN_0003b860(*param_2);\n  }" { (expression_statement "FUN_0003b860(*param_2);" (call_expression "FUN_0003b860(*param_2)" identifier (argument_list "(*param_2)" ( (pointer_expression "*param_2" * identifier) ))) ;) }))) (if_statement "if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }" if (parenthesized_expression "(((char)param_1 == '\0') && (param_3 == 0))" ( (binary_expression "((char)param_1 == '\0') && (param_3 == 0)" (parenthesized_expression "((char)param_1 == '\0')" ( (binary_expression "(char)param_1 == '\0'" (cast_expression "(char)param_1" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    FUN_00021620(param_2);\n  }" { (expression_statement "FUN_00021620(param_2);" (call_expression "FUN_00021620(param_2)" identifier (argument_list "(param_2)" ( identifier ))) ;) })) (if_statement "if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }" if (parenthesized_expression "((char)param_2[4] == '\x02')" ( (binary_expression "(char)param_2[4] == '\x02'" (cast_expression "(char)param_2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }" { (expression_statement "local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;" (assignment_expression "local_80 = PTR__bfd_std_section_0007ffb0 + 0x180" identifier = (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" identifier + number_literal)) ;) })) (return_statement "return local_80;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) ))))) ;)) (expression_statement (assignment_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 = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) * LIT) + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) ))) * LIT)) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_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 , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < 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 ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (pointer_expression & IDENT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_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 IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = 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) ) (subscript_expression IDENT [ LIT ]))) ;) (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 = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = 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 = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) * LIT) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (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 IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (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 = (binary_expression IDENT != 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 { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) - LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT && (binary_expression IDENT != LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT && (binary_expression IDENT != LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))))))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT != LIT) && (binary_expression IDENT != LIT))) ;) }) (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 ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT != LIT) && (binary_expression IDENT != LIT))) ;) })))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (unary_expression - (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , 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) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (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 IDENT != LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (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 (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression IDENT * (char_literal ' escape_sequence ')) | (binary_expression IDENT & LIT))) ;)) (goto_statement goto statement_identifier ;) })) (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 = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ^ IDENT) )) >> LIT) & LIT)) ;) (labeled_statement statement_identifier : (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) | (binary_expression IDENT * (char_literal ' escape_sequence ')))) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = 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 == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) ))) <= (binary_expression IDENT - IDENT))) )) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) * (char_literal ' escape_sequence ')) | (binary_expression IDENT & LIT))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ^ IDENT) )) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) ))))) )) (compound_statement { (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression IDENT * (char_literal ' escape_sequence ')) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == (binary_expression IDENT + LIT)) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (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) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression IDENT & LIT) | (binary_expression IDENT * (char_literal ' escape_sequence ')))) ;) }) (else_clause else (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 IDENT & LIT) | (binary_expression IDENT * (char_literal ' escape_sequence ')))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (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) | (binary_expression IDENT * (char_literal ' escape_sequence ')))) ;) (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) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (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 IDENT = (binary_expression IDENT ^ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - IDENT) ))) >> LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))))) )) (compound_statement { (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 (pointer_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 IDENT & LIT) | (binary_expression IDENT * (char_literal ' escape_sequence ')))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;)) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) || (binary_expression IDENT != LIT)) )) || (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) || (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) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) 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) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) 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 = (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 = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) ))) <= (binary_expression IDENT - IDENT))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) * (char_literal ' escape_sequence ')) | (binary_expression IDENT & LIT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (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 = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (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 IDENT & LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) * (char_literal ' escape_sequence ')))) ;) }) (else_clause else (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 IDENT * (char_literal ' escape_sequence ')) | (binary_expression IDENT & LIT))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_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 ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , LIT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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 (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)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (unary_expression - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , LIT , LIT , LIT , 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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })))) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) ))) + (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT)) + (binary_expression IDENT * IDENT))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> (binary_expression LIT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) | (binary_expression (subscript_expression IDENT [ LIT ]) << (binary_expression LIT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | (unary_expression ~ IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | (unary_expression ~ IDENT))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) ^ IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & IDENT)) ;) (break_statement break ;)) (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT) ^ LIT) )) * (char_literal ' escape_sequence ')) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) && (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT)) )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) || (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT)) )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) ))) )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) )))) ))) < LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) != (call_expression IDENT (argument_list ( IDENT , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (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 (subscript_expression IDENT [ LIT ]) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) ))) )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) )))) ))) < LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) != (call_expression IDENT (argument_list ( IDENT , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ))) < LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (unary_expression - IDENT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))))) ;) (break_statement break ;)) (case_statement case LIT : (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 (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) || (binary_expression IDENT != LIT)) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) )))) ;) (break_statement break ;)) (case_statement case LIT : (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 (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) || (binary_expression IDENT != LIT)) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) )))) ;)) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (binary_expression IDENT + LIT))) )))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != (binary_expression IDENT + LIT)) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) )))) )) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) })) (labeled_statement statement_identifier : (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 (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( 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 = (binary_expression IDENT + LIT)) ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined * FUN_000221d0(int param_1,int *param_2,int param_3)\n\n{\n  longlong lVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined1 uVar4;\n  byte bVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  int iVar11;\n  char cVar12;\n  byte bVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  uint uVar19;\n  bool bVar20;\n  undefined8 uVar21;\n  longlong lVar22;\n  longlong lVar23;\n  int local_94;\n  int local_88;\n  undefined *local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  byte local_3d;\n  byte *local_3c;\n  uint local_38;\n  byte *local_30;\n  int local_2c;\n  uint local_28;\n  uint local_24;\n  char local_20;\n  byte local_1f;\n  undefined2 local_1e;\n  undefined4 uStack_14;\n  \n  uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);\n  uStack_14 = 0x221d9;\n  if (param_1 < 0) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }\n  if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }\n  DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);\n  DAT_00089ad8 = (undefined4)uVar21;\n  local_80 = (undefined *)FUN_000236b0();\n  if (*DAT_00089978 == 0x20) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }\n  uVar16 = (uint)*DAT_00089978;\n  if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;\n  if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;\n  puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;\n  cVar12 = (&DAT_00080220)[local_94];\n  puVar2 = local_80;\n  iVar11 = local_94;\n  while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }\nLAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }\n  if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }\n  if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }\n  return local_80;\n}" (type_identifier "undefined") (pointer_declarator "* FUN_000221d0(int param_1,int *param_2,int param_3)" (* "*") (function_declarator "FUN_000221d0(int param_1,int *param_2,int param_3)" (identifier "FUN_000221d0") (parameter_list "(int param_1,int *param_2,int param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")")))) (compound_statement "{\n  longlong lVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined1 uVar4;\n  byte bVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  int iVar11;\n  char cVar12;\n  byte bVar13;\n  undefined *puVar14;\n  uint uVar15;\n  uint uVar16;\n  byte *pbVar17;\n  undefined *puVar18;\n  uint uVar19;\n  bool bVar20;\n  undefined8 uVar21;\n  longlong lVar22;\n  longlong lVar23;\n  int local_94;\n  int local_88;\n  undefined *local_80;\n  int local_74;\n  uint local_5c;\n  uint local_58;\n  byte local_3d;\n  byte *local_3c;\n  uint local_38;\n  byte *local_30;\n  int local_2c;\n  uint local_28;\n  uint local_24;\n  char local_20;\n  byte local_1f;\n  undefined2 local_1e;\n  undefined4 uStack_14;\n  \n  uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);\n  uStack_14 = 0x221d9;\n  if (param_1 < 0) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }\n  if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }\n  DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);\n  DAT_00089ad8 = (undefined4)uVar21;\n  local_80 = (undefined *)FUN_000236b0();\n  if (*DAT_00089978 == 0x20) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }\n  uVar16 = (uint)*DAT_00089978;\n  if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;\n  if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }\nLAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;\n  puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;\n  cVar12 = (&DAT_00080220)[local_94];\n  puVar2 = local_80;\n  iVar11 = local_94;\n  while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }\nLAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }\n  if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }\n  if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }\n  return local_80;\n}" ({ "{") (declaration "longlong lVar1;" (type_identifier "longlong") (identifier "lVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined1 uVar4;" (type_identifier "undefined1") (identifier "uVar4") (; ";")) (declaration "byte bVar5;" (type_identifier "byte") (identifier "bVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "char cVar12;" (primitive_type "char") (identifier "cVar12") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "undefined *puVar18;" (type_identifier "undefined") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "bool bVar20;" (primitive_type "bool") (identifier "bVar20") (; ";")) (declaration "undefined8 uVar21;" (type_identifier "undefined8") (identifier "uVar21") (; ";")) (declaration "longlong lVar22;" (type_identifier "longlong") (identifier "lVar22") (; ";")) (declaration "longlong lVar23;" (type_identifier "longlong") (identifier "lVar23") (; ";")) (declaration "int local_94;" (primitive_type "int") (identifier "local_94") (; ";")) (declaration "int local_88;" (primitive_type "int") (identifier "local_88") (; ";")) (declaration "undefined *local_80;" (type_identifier "undefined") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "int local_74;" (primitive_type "int") (identifier "local_74") (; ";")) (declaration "uint local_5c;" (type_identifier "uint") (identifier "local_5c") (; ";")) (declaration "uint local_58;" (type_identifier "uint") (identifier "local_58") (; ";")) (declaration "byte local_3d;" (type_identifier "byte") (identifier "local_3d") (; ";")) (declaration "byte *local_3c;" (type_identifier "byte") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "byte *local_30;" (type_identifier "byte") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (declaration "uint local_24;" (type_identifier "uint") (identifier "local_24") (; ";")) (declaration "char local_20;" (primitive_type "char") (identifier "local_20") (; ";")) (declaration "byte local_1f;" (type_identifier "byte") (identifier "local_1f") (; ";")) (declaration "undefined2 local_1e;" (type_identifier "undefined2") (identifier "local_1e") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);" (assignment_expression "uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8)" (identifier "uVar21") (= "=") (call_expression "CONCAT44(DAT_00089adc,DAT_00089ad8)" (identifier "CONCAT44") (argument_list "(DAT_00089adc,DAT_00089ad8)" (( "(") (identifier "DAT_00089adc") (, ",") (identifier "DAT_00089ad8") () ")")))) (; ";")) (expression_statement "uStack_14 = 0x221d9;" (assignment_expression "uStack_14 = 0x221d9" (identifier "uStack_14") (= "=") (number_literal "0x221d9")) (; ";")) (if_statement "if (param_1 < 0) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }" (if "if") (parenthesized_expression "(param_1 < 0)" (( "(") (binary_expression "param_1 < 0" (identifier "param_1") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);\n  }" ({ "{") (expression_statement "FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204)" (identifier "FUN_0002be80") (argument_list "("../../gas/expr.c",0x6dc,&DAT_0005e204)" (( "(") (string_literal ""../../gas/expr.c"" (" """) (string_content "../../gas/expr.c") (" """)) (, ",") (number_literal "0x6dc") (, ",") (pointer_expression "&DAT_0005e204" (& "&") (identifier "DAT_0005e204")) () ")"))) (; ";")) (} "}"))) (if_statement "if ((char)param_1 == '\0') {\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }" (if "if") (parenthesized_expression "((char)param_1 == '\0')" (( "(") (binary_expression "(char)param_1 == '\0'" (cast_expression "(char)param_1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "param_1")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar21 = FUN_00024dc0();\n    DAT_00089ae8 = DAT_000898a0;\n  }" ({ "{") (expression_statement "uVar21 = FUN_00024dc0();" (assignment_expression "uVar21 = FUN_00024dc0()" (identifier "uVar21") (= "=") (call_expression "FUN_00024dc0()" (identifier "FUN_00024dc0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "DAT_00089ae8 = DAT_000898a0;" (assignment_expression "DAT_00089ae8 = DAT_000898a0" (identifier "DAT_00089ae8") (= "=") (identifier "DAT_000898a0")) (; ";")) (} "}"))) (expression_statement "DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);" (assignment_expression "DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20)" (identifier "DAT_00089adc") (= "=") (call_expression "(undefined4)((ulonglong)uVar21 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar21 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 >> 0x20" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "DAT_00089ad8 = (undefined4)uVar21;" (assignment_expression "DAT_00089ad8 = (undefined4)uVar21" (identifier "DAT_00089ad8") (= "=") (cast_expression "(undefined4)uVar21" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (identifier "uVar21"))) (; ";")) (expression_statement "local_80 = (undefined *)FUN_000236b0();" (assignment_expression "local_80 = (undefined *)FUN_000236b0()" (identifier "local_80") (= "=") (cast_expression "(undefined *)FUN_000236b0()" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000236b0()" (identifier "FUN_000236b0") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*DAT_00089978 == 0x20) {\n                    \n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }" (if "if") (parenthesized_expression "(*DAT_00089978 == 0x20)" (( "(") (binary_expression "*DAT_00089978 == 0x20" (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n                    \n    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);\n  }" ({ "{") (expression_statement "FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);" (call_expression "FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2)" (identifier "FUN_0002be80") (argument_list "("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2)" (( "(") (string_literal ""../../gas/expr.c"" (" """) (string_content "../../gas/expr.c") (" """)) (, ",") (number_literal "0x6e8") (, ",") (pointer_expression "&DAT_0005e204" (& "&") (identifier "DAT_0005e204")) (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar16 = (uint)*DAT_00089978;" (assignment_expression "uVar16 = (uint)*DAT_00089978" (identifier "uVar16") (= "=") (binary_expression "(uint)*DAT_00089978" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "DAT_00089978"))) (; ";")) (if_statement "if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;" (if "if") (parenthesized_expression "((&DAT_000802c0)[uVar16] != '\0')" (( "(") (binary_expression "(&DAT_000802c0)[uVar16] != '\0'" (subscript_expression "(&DAT_000802c0)[uVar16]" (parenthesized_expression "(&DAT_000802c0)" (( "(") (pointer_expression "&DAT_000802c0" (& "&") (identifier "DAT_000802c0")) () ")")) ([ "[") (identifier "uVar16") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00022622;" (goto "goto") (statement_identifier "LAB_00022622") (; ";"))) (if_statement "if (((&DAT_000803c0)[uVar16] & 2) == 0) {\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }\n  else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }" (if "if") (parenthesized_expression "(((&DAT_000803c0)[uVar16] & 2) == 0)" (( "(") (binary_expression "((&DAT_000803c0)[uVar16] & 2) == 0" (parenthesized_expression "((&DAT_000803c0)[uVar16] & 2)" (( "(") (binary_expression "(&DAT_000803c0)[uVar16] & 2" (subscript_expression "(&DAT_000803c0)[uVar16]" (parenthesized_expression "(&DAT_000803c0)" (( "(") (pointer_expression "&DAT_000803c0" (& "&") (identifier "DAT_000803c0")) () ")")) ([ "[") (identifier "uVar16") (] "]")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00022269:\n    pbVar17 = DAT_00089978;\n    if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }\n    if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }\n  }" ({ "{") (labeled_statement "LAB_00022269:\n    pbVar17 = DAT_00089978;" (statement_identifier "LAB_00022269") (: ":") (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" (identifier "pbVar17") (= "=") (identifier "DAT_00089978")) (; ";"))) (if_statement "if (uVar16 == 0x2d) {\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }" (if "if") (parenthesized_expression "(uVar16 == 0x2d)" (( "(") (binary_expression "uVar16 == 0x2d" (identifier "uVar16") (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\nLAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n      local_74 = 1;\n      goto LAB_00022706;\n    }" ({ "{") (labeled_statement "LAB_000227c0:\n      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (statement_identifier "LAB_000227c0") (: ":") (expression_statement "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4)" (identifier "local_94") (= "=") (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" (* "*") (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" (( "(") (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" (& "&") (identifier "DAT_0005e220")) (+ "+") (binary_expression "uVar16 * 4" (identifier "uVar16") (* "*") (number_literal "4"))) () ")"))))) (; ";"))) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" (identifier "local_74") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00022706;" (goto "goto") (statement_identifier "LAB_00022706") (; ";")) (} "}"))) (if_statement "if (uVar16 < 0x2e) {\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }\n    else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" (if "if") (parenthesized_expression "(uVar16 < 0x2e)" (( "(") (binary_expression "uVar16 < 0x2e" (identifier "uVar16") (< "<") (number_literal "0x2e")) () ")")) (compound_statement "{\n      if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }\n    }" ({ "{") (if_statement "if (uVar16 == 0x26) {\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }\n      else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }" (if "if") (parenthesized_expression "(uVar16 == 0x26)" (( "(") (binary_expression "uVar16 == 0x26" (identifier "uVar16") (== "==") (number_literal "0x26")) () ")")) (compound_statement "{\n        local_74 = (DAT_00089978[1] == 0x26) + 1;\n        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n      }" ({ "{") (expression_statement "local_74 = (DAT_00089978[1] == 0x26) + 1;" (assignment_expression "local_74 = (DAT_00089978[1] == 0x26) + 1" (identifier "local_74") (= "=") (binary_expression "(DAT_00089978[1] == 0x26) + 1" (parenthesized_expression "(DAT_00089978[1] == 0x26)" (( "(") (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x26")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;" (assignment_expression "local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" (identifier "local_94") (= "=") (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9" (call_expression "(uint)(DAT_00089978[1] == 0x26)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_00089978[1] == 0x26)" (( "(") (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x26")) () ")"))) (* "*") (number_literal "9")) (+ "+") (number_literal "0x12"))) (; ";")) (} "}")) (else_clause "else {\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }" (else "else") (compound_statement "{\n        if (uVar16 == 0x2b) goto LAB_000227c0;\n        if (uVar16 != 0x21) goto LAB_000225c3;\n        if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }\n        local_74 = 2;\n        local_94 = 0x11;\n      }" ({ "{") (if_statement "if (uVar16 == 0x2b) goto LAB_000227c0;" (if "if") (parenthesized_expression "(uVar16 == 0x2b)" (( "(") (binary_expression "uVar16 == 0x2b" (identifier "uVar16") (== "==") (number_literal "0x2b")) () ")")) (goto_statement "goto LAB_000227c0;" (goto "goto") (statement_identifier "LAB_000227c0") (; ";"))) (if_statement "if (uVar16 != 0x21) goto LAB_000225c3;" (if "if") (parenthesized_expression "(uVar16 != 0x21)" (( "(") (binary_expression "uVar16 != 0x21" (identifier "uVar16") (!= "!=") (number_literal "0x21")) () ")")) (goto_statement "goto LAB_000225c3;" (goto "goto") (statement_identifier "LAB_000225c3") (; ";"))) (if_statement "if (DAT_00089978[1] != 0x21) {\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }" (if "if") (parenthesized_expression "(DAT_00089978[1] != 0x21)" (( "(") (binary_expression "DAT_00089978[1] != 0x21" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0x21")) () ")")) (compound_statement "{\n          iVar11 = 0x16;\n          local_94 = 0x10;\n          bVar20 = DAT_00089978[1] == 0x3d;\n          goto LAB_000222ad;\n        }" ({ "{") (expression_statement "iVar11 = 0x16;" (assignment_expression "iVar11 = 0x16" (identifier "iVar11") (= "=") (number_literal "0x16")) (; ";")) (expression_statement "local_94 = 0x10;" (assignment_expression "local_94 = 0x10" (identifier "local_94") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "bVar20 = DAT_00089978[1] == 0x3d;" (assignment_expression "bVar20 = DAT_00089978[1] == 0x3d" (identifier "bVar20") (= "=") (binary_expression "DAT_00089978[1] == 0x3d" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x3d"))) (; ";")) (goto_statement "goto LAB_000222ad;" (goto "goto") (statement_identifier "LAB_000222ad") (; ";")) (} "}"))) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" (identifier "local_74") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_94 = 0x11;" (assignment_expression "local_94 = 0x11" (identifier "local_94") (= "=") (number_literal "0x11")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" (else "else") (if_statement "if (uVar16 == 0x3d) {\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }\n    else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" (if "if") (parenthesized_expression "(uVar16 == 0x3d)" (( "(") (binary_expression "uVar16 == 0x3d" (identifier "uVar16") (== "==") (number_literal "0x3d")) () ")")) (compound_statement "{\n      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;\n      local_74 = 2;\n      local_94 = 0x15;\n    }" ({ "{") (if_statement "if (DAT_00089978[1] != 0x3d) goto LAB_00022622;" (if "if") (parenthesized_expression "(DAT_00089978[1] != 0x3d)" (( "(") (binary_expression "DAT_00089978[1] != 0x3d" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0x3d")) () ")")) (goto_statement "goto LAB_00022622;" (goto "goto") (statement_identifier "LAB_00022622") (; ";"))) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" (identifier "local_74") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_94 = 0x15;" (assignment_expression "local_94 = 0x15" (identifier "local_94") (= "=") (number_literal "0x15")) (; ";")) (} "}")) (else_clause "else if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" (else "else") (if_statement "if (uVar16 < 0x3e) {\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }\n    else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" (if "if") (parenthesized_expression "(uVar16 < 0x3e)" (( "(") (binary_expression "uVar16 < 0x3e" (identifier "uVar16") (< "<") (number_literal "0x3e")) () ")")) (compound_statement "{\n      if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }\n    }" ({ "{") (if_statement "if (uVar16 == 0x3c) {\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }\n      else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" (if "if") (parenthesized_expression "(uVar16 == 0x3c)" (( "(") (binary_expression "uVar16 == 0x3c" (identifier "uVar16") (== "==") (number_literal "0x3c")) () ")")) (compound_statement "{\n        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n        local_94 = 0x17;\n      }" ({ "{") (if_statement "if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }" (if "if") (parenthesized_expression "((byte)(DAT_00089978[1] - 0x3c) < 3)" (( "(") (binary_expression "(byte)(DAT_00089978[1] - 0x3c) < 3" (call_expression "(byte)(DAT_00089978[1] - 0x3c)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(DAT_00089978[1] - 0x3c)" (( "(") (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (- "-") (number_literal "0x3c")) () ")"))) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n          local_74 = 2;\n          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n          goto LAB_00022706;\n        }" ({ "{") (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" (identifier "local_74") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);" (assignment_expression "local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" (identifier "local_94") (= "=") (pointer_expression "*(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" (* "*") (cast_expression "(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" (( "(") (binary_expression "&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (pointer_expression "&DAT_0005e1e4" (& "&") (identifier "DAT_0005e1e4")) (+ "+") (binary_expression "(uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (call_expression "(uint)(byte)(DAT_00089978[1] - 0x3c)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(DAT_00089978[1] - 0x3c)" (( "(") (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (- "-") (number_literal "0x3c")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (goto_statement "goto LAB_00022706;" (goto "goto") (statement_identifier "LAB_00022706") (; ";")) (} "}"))) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" (identifier "local_74") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_94 = 0x17;" (assignment_expression "local_94 = 0x17" (identifier "local_94") (= "=") (number_literal "0x17")) (; ";")) (} "}")) (else_clause "else {\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" (else "else") (compound_statement "{\nLAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }\n        local_74 = 1;\n      }" ({ "{") (labeled_statement "LAB_000225c3:\n        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (statement_identifier "LAB_000225c3") (: ":") (expression_statement "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4)" (identifier "local_94") (= "=") (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" (* "*") (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" (( "(") (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" (& "&") (identifier "DAT_0005e220")) (+ "+") (binary_expression "uVar16 * 4" (identifier "uVar16") (* "*") (number_literal "4"))) () ")"))))) (; ";"))) (if_statement "if (local_94 == 0) {\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }" (if "if") (parenthesized_expression "(local_94 == 0)" (( "(") (binary_expression "local_94 == 0" (identifier "local_94") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_94 = FUN_00053d00(0,2,0);\n          local_74 = 1;\n          if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }\n          goto LAB_00022706;\n        }" ({ "{") (expression_statement "local_94 = FUN_00053d00(0,2,0);" (assignment_expression "local_94 = FUN_00053d00(0,2,0)" (identifier "local_94") (= "=") (call_expression "FUN_00053d00(0,2,0)" (identifier "FUN_00053d00") (argument_list "(0,2,0)" (( "(") (number_literal "0") (, ",") (number_literal "2") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" (identifier "local_74") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_94 != 0) {\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }" (if "if") (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_74 = (int)DAT_00089978 - (int)pbVar17;\n          }" ({ "{") (expression_statement "local_74 = (int)DAT_00089978 - (int)pbVar17;" (assignment_expression "local_74 = (int)DAT_00089978 - (int)pbVar17" (identifier "local_74") (= "=") (binary_expression "(int)DAT_00089978 - (int)pbVar17" (cast_expression "(int)DAT_00089978" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00089978")) (- "-") (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00022706;" (goto "goto") (statement_identifier "LAB_00022706") (; ";")) (} "}"))) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" (identifier "local_74") (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" (else "else") (compound_statement "{\n      if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }\nLAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }\n      local_74 = bVar20 + 1;\n    }" ({ "{") (if_statement "if (uVar16 == 0x3e) {\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }\n      else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }" (if "if") (parenthesized_expression "(uVar16 == 0x3e)" (( "(") (binary_expression "uVar16 == 0x3e" (identifier "uVar16") (== "==") (number_literal "0x3e")) () ")")) (compound_statement "{\n        if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }\n        iVar11 = 0xe;\n        local_94 = 0x1a;\n        bVar20 = DAT_00089978[1] == 0x3e;\n      }" ({ "{") (if_statement "if (DAT_00089978[1] == 0x3d) {\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }" (if "if") (parenthesized_expression "(DAT_00089978[1] == 0x3d)" (( "(") (binary_expression "DAT_00089978[1] == 0x3d" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x3d")) () ")")) (compound_statement "{\n          local_74 = 2;\n          local_94 = 0x19;\n          goto LAB_000222c3;\n        }" ({ "{") (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" (identifier "local_74") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_94 = 0x19;" (assignment_expression "local_94 = 0x19" (identifier "local_94") (= "=") (number_literal "0x19")) (; ";")) (goto_statement "goto LAB_000222c3;" (goto "goto") (statement_identifier "LAB_000222c3") (; ";")) (} "}"))) (expression_statement "iVar11 = 0xe;" (assignment_expression "iVar11 = 0xe" (identifier "iVar11") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "local_94 = 0x1a;" (assignment_expression "local_94 = 0x1a" (identifier "local_94") (= "=") (number_literal "0x1a")) (; ";")) (expression_statement "bVar20 = DAT_00089978[1] == 0x3e;" (assignment_expression "bVar20 = DAT_00089978[1] == 0x3e" (identifier "bVar20") (= "=") (binary_expression "DAT_00089978[1] == 0x3e" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x3e"))) (; ";")) (} "}")) (else_clause "else {\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }" (else "else") (compound_statement "{\n        if (uVar16 != 0x7c) goto LAB_000225c3;\n        iVar11 = 0x1c;\n        local_94 = 0xf;\n        bVar20 = DAT_00089978[1] == 0x7c;\n      }" ({ "{") (if_statement "if (uVar16 != 0x7c) goto LAB_000225c3;" (if "if") (parenthesized_expression "(uVar16 != 0x7c)" (( "(") (binary_expression "uVar16 != 0x7c" (identifier "uVar16") (!= "!=") (number_literal "0x7c")) () ")")) (goto_statement "goto LAB_000225c3;" (goto "goto") (statement_identifier "LAB_000225c3") (; ";"))) (expression_statement "iVar11 = 0x1c;" (assignment_expression "iVar11 = 0x1c" (identifier "iVar11") (= "=") (number_literal "0x1c")) (; ";")) (expression_statement "local_94 = 0xf;" (assignment_expression "local_94 = 0xf" (identifier "local_94") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "bVar20 = DAT_00089978[1] == 0x7c;" (assignment_expression "bVar20 = DAT_00089978[1] == 0x7c" (identifier "bVar20") (= "=") (binary_expression "DAT_00089978[1] == 0x7c" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x7c"))) (; ";")) (} "}")))) (labeled_statement "LAB_000222ad:\n      if (bVar20) {\n        local_94 = iVar11;\n      }" (statement_identifier "LAB_000222ad") (: ":") (if_statement "if (bVar20) {\n        local_94 = iVar11;\n      }" (if "if") (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (compound_statement "{\n        local_94 = iVar11;\n      }" ({ "{") (expression_statement "local_94 = iVar11;" (assignment_expression "local_94 = iVar11" (identifier "local_94") (= "=") (identifier "iVar11")) (; ";")) (} "}")))) (expression_statement "local_74 = bVar20 + 1;" (assignment_expression "local_74 = bVar20 + 1" (identifier "local_74") (= "=") (binary_expression "bVar20 + 1" (identifier "bVar20") (+ "+") (number_literal "1"))) (; ";")) (} "}")))))))) (} "}")) (else_clause "else {\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }" (else "else") (compound_statement "{\n    uVar4 = FUN_000220a0(&local_30);\n    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);\n    local_94 = FUN_00053d00(local_30,2,&local_3c);\n    pbVar17 = local_30;\n    if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }\n    if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }\n    *DAT_00089978 = (byte)local_3c;\n    pbVar17 = DAT_00089978;\n    DAT_00089978 = local_30;\n    local_74 = (int)pbVar17 - (int)local_30;\n    pbVar17 = DAT_00089978;\nLAB_00022706:\n    DAT_00089978 = pbVar17;\n    if (local_94 == 0) goto LAB_00022622;\n  }" ({ "{") (expression_statement "uVar4 = FUN_000220a0(&local_30);" (assignment_expression "uVar4 = FUN_000220a0(&local_30)" (identifier "uVar4") (= "=") (call_expression "FUN_000220a0(&local_30)" (identifier "FUN_000220a0") (argument_list "(&local_30)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (expression_statement "local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);" (assignment_expression "local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4)" (identifier "local_3c") (= "=") (cast_expression "(byte *)CONCAT31(local_3c._1_3_,uVar4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_3c._1_3_,uVar4)" (identifier "CONCAT31") (argument_list "(local_3c._1_3_,uVar4)" (( "(") (field_expression "local_3c._1_3_" (identifier "local_3c") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "uVar4") () ")"))))) (; ";")) (expression_statement "local_94 = FUN_00053d00(local_30,2,&local_3c);" (assignment_expression "local_94 = FUN_00053d00(local_30,2,&local_3c)" (identifier "local_94") (= "=") (call_expression "FUN_00053d00(local_30,2,&local_3c)" (identifier "FUN_00053d00") (argument_list "(local_30,2,&local_3c)" (( "(") (identifier "local_30") (, ",") (number_literal "2") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (expression_statement "pbVar17 = local_30;" (assignment_expression "pbVar17 = local_30" (identifier "pbVar17") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_94 == 1) {\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }" (if "if") (parenthesized_expression "(local_94 == 1)" (( "(") (binary_expression "local_94 == 1" (identifier "local_94") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      *DAT_00089978 = (byte)local_3c;\n      DAT_00089978 = local_30;\n      goto LAB_00022269;\n    }" ({ "{") (expression_statement "*DAT_00089978 = (byte)local_3c;" (assignment_expression "*DAT_00089978 = (byte)local_3c" (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978")) (= "=") (cast_expression "(byte)local_3c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_3c"))) (; ";")) (expression_statement "DAT_00089978 = local_30;" (assignment_expression "DAT_00089978 = local_30" (identifier "DAT_00089978") (= "=") (identifier "local_30")) (; ";")) (goto_statement "goto LAB_00022269;" (goto "goto") (statement_identifier "LAB_00022269") (; ";")) (} "}"))) (if_statement "if ((local_94 != 0) && (local_94 - 7U < 3)) {\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }" (if "if") (parenthesized_expression "((local_94 != 0) && (local_94 - 7U < 3))" (( "(") (binary_expression "(local_94 != 0) && (local_94 - 7U < 3)" (parenthesized_expression "(local_94 != 0)" (( "(") (binary_expression "local_94 != 0" (identifier "local_94") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_94 - 7U < 3)" (( "(") (binary_expression "local_94 - 7U < 3" (binary_expression "local_94 - 7U" (identifier "local_94") (- "-") (number_literal "7U")) (< "<") (number_literal "3")) () ")"))) () ")")) (compound_statement "{\n      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n      FUN_0002bd60(uVar7,pbVar17);\n      local_94 = 0;\n    }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);" (assignment_expression "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"invalid use of operator \"%s\"",5)" (identifier "dcgettext") (argument_list "(0,"invalid use of operator \"%s\"",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid use of operator \"%s\""" (" """) (string_content "invalid use of operator ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bd60(uVar7,pbVar17);" (call_expression "FUN_0002bd60(uVar7,pbVar17)" (identifier "FUN_0002bd60") (argument_list "(uVar7,pbVar17)" (( "(") (identifier "uVar7") (, ",") (identifier "pbVar17") () ")"))) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "*DAT_00089978 = (byte)local_3c;" (assignment_expression "*DAT_00089978 = (byte)local_3c" (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978")) (= "=") (cast_expression "(byte)local_3c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_3c"))) (; ";")) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" (identifier "pbVar17") (= "=") (identifier "DAT_00089978")) (; ";")) (expression_statement "DAT_00089978 = local_30;" (assignment_expression "DAT_00089978 = local_30" (identifier "DAT_00089978") (= "=") (identifier "local_30")) (; ";")) (expression_statement "local_74 = (int)pbVar17 - (int)local_30;" (assignment_expression "local_74 = (int)pbVar17 - (int)local_30" (identifier "local_74") (= "=") (binary_expression "(int)pbVar17 - (int)local_30" (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17")) (- "-") (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")))) (; ";")) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" (identifier "pbVar17") (= "=") (identifier "DAT_00089978")) (; ";")) (labeled_statement "LAB_00022706:\n    DAT_00089978 = pbVar17;" (statement_identifier "LAB_00022706") (: ":") (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";"))) (if_statement "if (local_94 == 0) goto LAB_00022622;" (if "if") (parenthesized_expression "(local_94 == 0)" (( "(") (binary_expression "local_94 == 0" (identifier "local_94") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00022622;" (goto "goto") (statement_identifier "LAB_00022622") (; ";"))) (} "}")))) (labeled_statement "LAB_000222c3:\n  puVar3 = PTR__bfd_std_section_0007ffb0;" (statement_identifier "LAB_000222c3") (: ":") (expression_statement "puVar3 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar3 = PTR__bfd_std_section_0007ffb0" (identifier "puVar3") (= "=") (identifier "PTR__bfd_std_section_0007ffb0")) (; ";"))) (expression_statement "puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;" (assignment_expression "puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "puVar14") (= "=") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0xc0"))) (; ";")) (expression_statement "cVar12 = (&DAT_00080220)[local_94];" (assignment_expression "cVar12 = (&DAT_00080220)[local_94]" (identifier "cVar12") (= "=") (subscript_expression "(&DAT_00080220)[local_94]" (parenthesized_expression "(&DAT_00080220)" (( "(") (pointer_expression "&DAT_00080220" (& "&") (identifier "DAT_00080220")) () ")")) ([ "[") (identifier "local_94") (] "]"))) (; ";")) (expression_statement "puVar2 = local_80;" (assignment_expression "puVar2 = local_80" (identifier "puVar2") (= "=") (identifier "local_80")) (; ";")) (expression_statement "iVar11 = local_94;" (assignment_expression "iVar11 = local_94" (identifier "iVar11") (= "=") (identifier "local_94")) (; ";")) (while_statement "while (local_80 = puVar2, (char)param_1 < cVar12) {\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }" (while "while") (parenthesized_expression "(local_80 = puVar2, (char)param_1 < cVar12)" (( "(") (comma_expression "local_80 = puVar2, (char)param_1 < cVar12" (assignment_expression "local_80 = puVar2" (identifier "local_80") (= "=") (identifier "puVar2")) (, ",") (binary_expression "(char)param_1 < cVar12" (cast_expression "(char)param_1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "param_1")) (< "<") (identifier "cVar12"))) () ")")) (compound_statement "{\n    local_1e = 0;\n    DAT_00089978 = DAT_00089978 + local_74;\n    puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);\n    if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }\n    bVar13 = *DAT_00089978;\n    uVar16 = (uint)bVar13;\n    if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }\n    pbVar17 = DAT_00089978;\n    if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }\n    if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }\n    if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }\n    if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }\n    local_94._0_1_ = (undefined1)iVar11;\n    if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }\n    if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }\n    cVar12 = (char)param_2[4];\n    if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }\nLAB_000223e8:\n    uVar19 = local_24;\n    uVar16 = local_28;\n    if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }\n    if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }\n    local_5c = local_28;\n    local_58 = local_24;\n    if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }\n    switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }\nLAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }\nLAB_000224e0:\n    if (local_88 == 0) break;\n    puVar2 = local_80;\n    iVar11 = local_88;\n    cVar12 = (&DAT_00080220)[local_88];\n  }" ({ "{") (expression_statement "local_1e = 0;" (assignment_expression "local_1e = 0" (identifier "local_1e") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00089978 = DAT_00089978 + local_74;" (assignment_expression "DAT_00089978 = DAT_00089978 + local_74" (identifier "DAT_00089978") (= "=") (binary_expression "DAT_00089978 + local_74" (identifier "DAT_00089978") (+ "+") (identifier "local_74"))) (; ";")) (expression_statement "puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3);" (assignment_expression "puVar8 = (undefined *)FUN_000221d0((int)cVar12,&local_30,param_3)" (identifier "puVar8") (= "=") (cast_expression "(undefined *)FUN_000221d0((int)cVar12,&local_30,param_3)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000221d0((int)cVar12,&local_30,param_3)" (identifier "FUN_000221d0") (argument_list "((int)cVar12,&local_30,param_3)" (( "(") (cast_expression "(int)cVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar12")) (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (identifier "param_3") () ")"))))) (; ";")) (if_statement "if (local_20 == '\x01') {\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }" (if "if") (parenthesized_expression "(local_20 == '\x01')" (( "(") (binary_expression "local_20 == '\x01'" (identifier "local_20") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n      uVar7 = dcgettext(0,"missing operand; zero assumed",5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n    }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"missing operand; zero assumed",5);" (assignment_expression "uVar7 = dcgettext(0,"missing operand; zero assumed",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"missing operand; zero assumed",5)" (identifier "dcgettext") (argument_list "(0,"missing operand; zero assumed",5)" (( "(") (number_literal "0") (, ",") (string_literal ""missing operand; zero assumed"" (" """) (string_content "missing operand; zero assumed") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" (identifier "FUN_0002bc80") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "local_20 = '\x02';" (assignment_expression "local_20 = '\x02'" (identifier "local_20") (= "=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = (byte *)0x0;" (assignment_expression "local_30 = (byte *)0x0" (identifier "local_30") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "bVar13 = *DAT_00089978;" (assignment_expression "bVar13 = *DAT_00089978" (identifier "bVar13") (= "=") (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978"))) (; ";")) (expression_statement "uVar16 = (uint)bVar13;" (assignment_expression "uVar16 = (uint)bVar13" (identifier "uVar16") (= "=") (cast_expression "(uint)bVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar13"))) (; ";")) (if_statement "if (bVar13 == 0x20) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }" (if "if") (parenthesized_expression "(bVar13 == 0x20)" (( "(") (binary_expression "bVar13 == 0x20" (identifier "bVar13") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n                    \n      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);\n    }" ({ "{") (expression_statement "FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204)" (identifier "FUN_0002be80") (argument_list "("../../gas/expr.c",0x6fd,&DAT_0005e204)" (( "(") (string_literal ""../../gas/expr.c"" (" """) (string_content "../../gas/expr.c") (" """)) (, ",") (number_literal "0x6fd") (, ",") (pointer_expression "&DAT_0005e204" (& "&") (identifier "DAT_0005e204")) () ")"))) (; ";")) (} "}"))) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" (identifier "pbVar17") (= "=") (identifier "DAT_00089978")) (; ";")) (if_statement "if (iVar11 == 0x1d) {\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }\n    else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }" (if "if") (parenthesized_expression "(iVar11 == 0x1d)" (( "(") (binary_expression "iVar11 == 0x1d" (identifier "iVar11") (== "==") (number_literal "0x1d")) () ")")) (compound_statement "{\n      if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }\n      FUN_0002bd60("missing right bracket");\n      uVar16 = (uint)*DAT_00089978;\n      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;\nLAB_00022590:\n      local_74 = 1;\n      local_88 = 0;\n    }" ({ "{") (if_statement "if (bVar13 == 0x5d) {\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }" (if "if") (parenthesized_expression "(bVar13 == 0x5d)" (( "(") (binary_expression "bVar13 == 0x5d" (identifier "bVar13") (== "==") (number_literal "0x5d")) () ")")) (compound_statement "{\n        uVar16 = (uint)DAT_00089978[1];\n        pbVar17 = DAT_00089978 + 1;\n        if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }\n        goto LAB_00022300;\n      }" ({ "{") (expression_statement "uVar16 = (uint)DAT_00089978[1];" (assignment_expression "uVar16 = (uint)DAT_00089978[1]" (identifier "uVar16") (= "=") (cast_expression "(uint)DAT_00089978[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pbVar17 = DAT_00089978 + 1;" (assignment_expression "pbVar17 = DAT_00089978 + 1" (identifier "pbVar17") (= "=") (binary_expression "DAT_00089978 + 1" (identifier "DAT_00089978") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (DAT_00089978[1] == 0x20) {\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }" (if "if") (parenthesized_expression "(DAT_00089978[1] == 0x20)" (( "(") (binary_expression "DAT_00089978[1] == 0x20" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n          uVar16 = (uint)DAT_00089978[2];\n          pbVar17 = DAT_00089978 + 2;\n        }" ({ "{") (expression_statement "uVar16 = (uint)DAT_00089978[2];" (assignment_expression "uVar16 = (uint)DAT_00089978[2]" (identifier "uVar16") (= "=") (cast_expression "(uint)DAT_00089978[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "DAT_00089978[2]" (identifier "DAT_00089978") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "pbVar17 = DAT_00089978 + 2;" (assignment_expression "pbVar17 = DAT_00089978 + 2" (identifier "pbVar17") (= "=") (binary_expression "DAT_00089978 + 2" (identifier "DAT_00089978") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00022300;" (goto "goto") (statement_identifier "LAB_00022300") (; ";")) (} "}"))) (expression_statement "FUN_0002bd60("missing right bracket");" (call_expression "FUN_0002bd60("missing right bracket")" (identifier "FUN_0002bd60") (argument_list "("missing right bracket")" (( "(") (string_literal ""missing right bracket"" (" """) (string_content "missing right bracket") (" """)) () ")"))) (; ";")) (expression_statement "uVar16 = (uint)*DAT_00089978;" (assignment_expression "uVar16 = (uint)*DAT_00089978" (identifier "uVar16") (= "=") (binary_expression "(uint)*DAT_00089978" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "DAT_00089978"))) (; ";")) (if_statement "if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;" (if "if") (parenthesized_expression "((&DAT_000802c0)[uVar16] == '\0')" (( "(") (binary_expression "(&DAT_000802c0)[uVar16] == '\0'" (subscript_expression "(&DAT_000802c0)[uVar16]" (parenthesized_expression "(&DAT_000802c0)" (( "(") (pointer_expression "&DAT_000802c0" (& "&") (identifier "DAT_000802c0")) () ")")) ([ "[") (identifier "uVar16") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00022311;" (goto "goto") (statement_identifier "LAB_00022311") (; ";"))) (labeled_statement "LAB_00022590:\n      local_74 = 1;" (statement_identifier "LAB_00022590") (: ":") (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" (identifier "local_74") (= "=") (number_literal "1")) (; ";"))) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }" (else "else") (compound_statement "{\nLAB_00022300:\n      DAT_00089978 = pbVar17;\n      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;\nLAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }\nLAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }\n    }" ({ "{") (labeled_statement "LAB_00022300:\n      DAT_00089978 = pbVar17;" (statement_identifier "LAB_00022300") (: ":") (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";"))) (if_statement "if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;" (if "if") (parenthesized_expression "((&DAT_000802c0)[uVar16] != '\0')" (( "(") (binary_expression "(&DAT_000802c0)[uVar16] != '\0'" (subscript_expression "(&DAT_000802c0)[uVar16]" (parenthesized_expression "(&DAT_000802c0)" (( "(") (pointer_expression "&DAT_000802c0" (& "&") (identifier "DAT_000802c0")) () ")")) ([ "[") (identifier "uVar16") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00022590;" (goto "goto") (statement_identifier "LAB_00022590") (; ";"))) (labeled_statement "LAB_00022311:\n      if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" (statement_identifier "LAB_00022311") (: ":") (if_statement "if (((&DAT_000803c0)[uVar16] & 2) == 0) {\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }\n      else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" (if "if") (parenthesized_expression "(((&DAT_000803c0)[uVar16] & 2) == 0)" (( "(") (binary_expression "((&DAT_000803c0)[uVar16] & 2) == 0" (parenthesized_expression "((&DAT_000803c0)[uVar16] & 2)" (( "(") (binary_expression "(&DAT_000803c0)[uVar16] & 2" (subscript_expression "(&DAT_000803c0)[uVar16]" (parenthesized_expression "(&DAT_000803c0)" (( "(") (pointer_expression "&DAT_000803c0" (& "&") (identifier "DAT_000803c0")) () ")")) ([ "[") (identifier "uVar16") (] "]")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (uVar16 == 0x2d) goto LAB_00023070;\nLAB_00022328:\n        pbVar17 = DAT_00089978;\n        if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }\n      }" ({ "{") (if_statement "if (uVar16 == 0x2d) goto LAB_00023070;" (if "if") (parenthesized_expression "(uVar16 == 0x2d)" (( "(") (binary_expression "uVar16 == 0x2d" (identifier "uVar16") (== "==") (number_literal "0x2d")) () ")")) (goto_statement "goto LAB_00023070;" (goto "goto") (statement_identifier "LAB_00023070") (; ";"))) (labeled_statement "LAB_00022328:\n        pbVar17 = DAT_00089978;" (statement_identifier "LAB_00022328") (: ":") (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" (identifier "pbVar17") (= "=") (identifier "DAT_00089978")) (; ";"))) (if_statement "if (uVar16 < 0x2e) {\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }\n        else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" (if "if") (parenthesized_expression "(uVar16 < 0x2e)" (( "(") (binary_expression "uVar16 < 0x2e" (identifier "uVar16") (< "<") (number_literal "0x2e")) () ")")) (compound_statement "{\n          if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }\n        }" ({ "{") (if_statement "if (uVar16 == 0x26) {\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(uVar16 == 0x26)" (( "(") (binary_expression "uVar16 == 0x26" (identifier "uVar16") (== "==") (number_literal "0x26")) () ")")) (compound_statement "{\n            bVar20 = iVar11 != 0x1d;\n            local_74 = (DAT_00089978[1] == 0x26) + 1;\n            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;\n            DAT_00089978 = pbVar17;\n          }" ({ "{") (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" (identifier "bVar20") (= "=") (binary_expression "iVar11 != 0x1d" (identifier "iVar11") (!= "!=") (number_literal "0x1d"))) (; ";")) (expression_statement "local_74 = (DAT_00089978[1] == 0x26) + 1;" (assignment_expression "local_74 = (DAT_00089978[1] == 0x26) + 1" (identifier "local_74") (= "=") (binary_expression "(DAT_00089978[1] == 0x26) + 1" (parenthesized_expression "(DAT_00089978[1] == 0x26)" (( "(") (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x26")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;" (assignment_expression "local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" (identifier "local_88") (= "=") (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9 + 0x12" (binary_expression "(uint)(DAT_00089978[1] == 0x26) * 9" (call_expression "(uint)(DAT_00089978[1] == 0x26)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_00089978[1] == 0x26)" (( "(") (binary_expression "DAT_00089978[1] == 0x26" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x26")) () ")"))) (* "*") (number_literal "9")) (+ "+") (number_literal "0x12"))) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (} "}")) (else_clause "else {\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }" (else "else") (compound_statement "{\n            if (uVar16 == 0x2b) goto LAB_00023070;\n            if (uVar16 != 0x21) goto LAB_00022883;\n            bVar20 = iVar11 != 0x1d;\n            bVar13 = DAT_00089978[1];\n            if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }\n          }" ({ "{") (if_statement "if (uVar16 == 0x2b) goto LAB_00023070;" (if "if") (parenthesized_expression "(uVar16 == 0x2b)" (( "(") (binary_expression "uVar16 == 0x2b" (identifier "uVar16") (== "==") (number_literal "0x2b")) () ")")) (goto_statement "goto LAB_00023070;" (goto "goto") (statement_identifier "LAB_00023070") (; ";"))) (if_statement "if (uVar16 != 0x21) goto LAB_00022883;" (if "if") (parenthesized_expression "(uVar16 != 0x21)" (( "(") (binary_expression "uVar16 != 0x21" (identifier "uVar16") (!= "!=") (number_literal "0x21")) () ")")) (goto_statement "goto LAB_00022883;" (goto "goto") (statement_identifier "LAB_00022883") (; ";"))) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" (identifier "bVar20") (= "=") (binary_expression "iVar11 != 0x1d" (identifier "iVar11") (!= "!=") (number_literal "0x1d"))) (; ";")) (expression_statement "bVar13 = DAT_00089978[1];" (assignment_expression "bVar13 = DAT_00089978[1]" (identifier "bVar13") (= "=") (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (bVar13 == 0x21) {\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }" (if "if") (parenthesized_expression "(bVar13 == 0x21)" (( "(") (binary_expression "bVar13 == 0x21" (identifier "bVar13") (== "==") (number_literal "0x21")) () ")")) (compound_statement "{\n              local_74 = 2;\n              local_88 = 0x11;\n              DAT_00089978 = pbVar17;\n            }" ({ "{") (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" (identifier "local_74") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_88 = 0x11;" (assignment_expression "local_88 = 0x11" (identifier "local_88") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (} "}")) (else_clause "else {\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }" (else "else") (compound_statement "{\n              local_74 = (bVar13 == 0x3d) + 1;\n              local_88 = 0x10;\n              DAT_00089978 = pbVar17;\n              if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }\n            }" ({ "{") (expression_statement "local_74 = (bVar13 == 0x3d) + 1;" (assignment_expression "local_74 = (bVar13 == 0x3d) + 1" (identifier "local_74") (= "=") (binary_expression "(bVar13 == 0x3d) + 1" (parenthesized_expression "(bVar13 == 0x3d)" (( "(") (binary_expression "bVar13 == 0x3d" (identifier "bVar13") (== "==") (number_literal "0x3d")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_88 = 0x10;" (assignment_expression "local_88 = 0x10" (identifier "local_88") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (if_statement "if (bVar13 == 0x3d) {\n                local_88 = 0x16;\n              }" (if "if") (parenthesized_expression "(bVar13 == 0x3d)" (( "(") (binary_expression "bVar13 == 0x3d" (identifier "bVar13") (== "==") (number_literal "0x3d")) () ")")) (compound_statement "{\n                local_88 = 0x16;\n              }" ({ "{") (expression_statement "local_88 = 0x16;" (assignment_expression "local_88 = 0x16" (identifier "local_88") (= "=") (number_literal "0x16")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (} "}")) (else_clause "else if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" (else "else") (if_statement "if (uVar16 == 0x3d) {\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }\n        else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" (if "if") (parenthesized_expression "(uVar16 == 0x3d)" (( "(") (binary_expression "uVar16 == 0x3d" (identifier "uVar16") (== "==") (number_literal "0x3d")) () ")")) (compound_statement "{\n          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = 2;\n          local_88 = 0x15;\n          DAT_00089978 = pbVar17;\n        }" ({ "{") (if_statement "if (DAT_00089978[1] != 0x3d) goto LAB_00022590;" (if "if") (parenthesized_expression "(DAT_00089978[1] != 0x3d)" (( "(") (binary_expression "DAT_00089978[1] != 0x3d" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0x3d")) () ")")) (goto_statement "goto LAB_00022590;" (goto "goto") (statement_identifier "LAB_00022590") (; ";"))) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" (identifier "bVar20") (= "=") (binary_expression "iVar11 != 0x1d" (identifier "iVar11") (!= "!=") (number_literal "0x1d"))) (; ";")) (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" (identifier "local_74") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_88 = 0x15;" (assignment_expression "local_88 = 0x15" (identifier "local_88") (= "=") (number_literal "0x15")) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (} "}")) (else_clause "else if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" (else "else") (if_statement "if (uVar16 < 0x3e) {\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }\n        else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" (if "if") (parenthesized_expression "(uVar16 < 0x3e)" (( "(") (binary_expression "uVar16 < 0x3e" (identifier "uVar16") (< "<") (number_literal "0x3e")) () ")")) (compound_statement "{\n          if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }\n        }" ({ "{") (if_statement "if (uVar16 == 0x3c) {\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }\n          else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }" (if "if") (parenthesized_expression "(uVar16 == 0x3c)" (( "(") (binary_expression "uVar16 == 0x3c" (identifier "uVar16") (== "==") (number_literal "0x3c")) () ")")) (compound_statement "{\n            bVar20 = iVar11 != 0x1d;\n            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }\n          }" ({ "{") (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" (identifier "bVar20") (= "=") (binary_expression "iVar11 != 0x1d" (identifier "iVar11") (!= "!=") (number_literal "0x1d"))) (; ";")) (if_statement "if ((byte)(DAT_00089978[1] - 0x3c) < 3) {\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n            else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }" (if "if") (parenthesized_expression "((byte)(DAT_00089978[1] - 0x3c) < 3)" (( "(") (binary_expression "(byte)(DAT_00089978[1] - 0x3c) < 3" (call_expression "(byte)(DAT_00089978[1] - 0x3c)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(DAT_00089978[1] - 0x3c)" (( "(") (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (- "-") (number_literal "0x3c")) () ")"))) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n              local_74 = 2;\n              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }" ({ "{") (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" (identifier "local_74") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);" (assignment_expression "local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" (identifier "local_88") (= "=") (pointer_expression "*(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" (* "*") (cast_expression "(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4)" (( "(") (binary_expression "&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (pointer_expression "&DAT_0005e1e4" (& "&") (identifier "DAT_0005e1e4")) (+ "+") (binary_expression "(uint)(byte)(DAT_00089978[1] - 0x3c) * 4" (call_expression "(uint)(byte)(DAT_00089978[1] - 0x3c)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(DAT_00089978[1] - 0x3c)" (( "(") (binary_expression "DAT_00089978[1] - 0x3c" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (- "-") (number_literal "0x3c")) () ")"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "bVar20 = bVar20 && local_88 != 0;" (assignment_expression "bVar20 = bVar20 && local_88 != 0" (identifier "bVar20") (= "=") (binary_expression "bVar20 && local_88 != 0" (identifier "bVar20") (&& "&&") (binary_expression "local_88 != 0" (identifier "local_88") (!= "!=") (number_literal "0")))) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (} "}")) (else_clause "else {\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }" (else "else") (compound_statement "{\n              local_74 = 1;\n              local_88 = 0x17;\n              DAT_00089978 = pbVar17;\n            }" ({ "{") (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" (identifier "local_74") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_88 = 0x17;" (assignment_expression "local_88 = 0x17" (identifier "local_88") (= "=") (number_literal "0x17")) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }" (else "else") (compound_statement "{\nLAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n            bVar20 = iVar11 != 0x1d;\n            local_74 = 1;\n            DAT_00089978 = pbVar17;\n            if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }\n          }" ({ "{") (labeled_statement "LAB_00022883:\n            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (statement_identifier "LAB_00022883") (: ":") (expression_statement "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4)" (identifier "local_88") (= "=") (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" (* "*") (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" (( "(") (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" (& "&") (identifier "DAT_0005e220")) (+ "+") (binary_expression "uVar16 * 4" (identifier "uVar16") (* "*") (number_literal "4"))) () ")"))))) (; ";"))) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" (identifier "bVar20") (= "=") (binary_expression "iVar11 != 0x1d" (identifier "iVar11") (!= "!=") (number_literal "0x1d"))) (; ";")) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" (identifier "local_74") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (if_statement "if (local_88 == 0) {\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }" (if "if") (parenthesized_expression "(local_88 == 0)" (( "(") (binary_expression "local_88 == 0" (identifier "local_88") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_88 = FUN_00053d00(0,2,0);\n              if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }\n              bVar20 = bVar20 && local_88 != 0;\n              DAT_00089978 = pbVar17;\n            }" ({ "{") (expression_statement "local_88 = FUN_00053d00(0,2,0);" (assignment_expression "local_88 = FUN_00053d00(0,2,0)" (identifier "local_88") (= "=") (call_expression "FUN_00053d00(0,2,0)" (identifier "FUN_00053d00") (argument_list "(0,2,0)" (( "(") (number_literal "0") (, ",") (number_literal "2") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (local_88 != 0) {\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }" (if "if") (parenthesized_expression "(local_88 != 0)" (( "(") (binary_expression "local_88 != 0" (identifier "local_88") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                local_74 = (int)DAT_00089978 - (int)pbVar17;\n              }" ({ "{") (expression_statement "local_74 = (int)DAT_00089978 - (int)pbVar17;" (assignment_expression "local_74 = (int)DAT_00089978 - (int)pbVar17" (identifier "local_74") (= "=") (binary_expression "(int)DAT_00089978 - (int)pbVar17" (cast_expression "(int)DAT_00089978" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_00089978")) (- "-") (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17")))) (; ";")) (} "}"))) (expression_statement "bVar20 = bVar20 && local_88 != 0;" (assignment_expression "bVar20 = bVar20 && local_88 != 0" (identifier "bVar20") (= "=") (binary_expression "bVar20 && local_88 != 0" (identifier "bVar20") (&& "&&") (binary_expression "local_88 != 0" (identifier "local_88") (!= "!=") (number_literal "0")))) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" (else "else") (if_statement "if (uVar16 == 0x3e) {\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }\n        else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" (if "if") (parenthesized_expression "(uVar16 == 0x3e)" (( "(") (binary_expression "uVar16 == 0x3e" (identifier "uVar16") (== "==") (number_literal "0x3e")) () ")")) (compound_statement "{\n          bVar20 = iVar11 != 0x1d;\n          bVar13 = DAT_00089978[1];\n          if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }\n        }" ({ "{") (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" (identifier "bVar20") (= "=") (binary_expression "iVar11 != 0x1d" (identifier "iVar11") (!= "!=") (number_literal "0x1d"))) (; ";")) (expression_statement "bVar13 = DAT_00089978[1];" (assignment_expression "bVar13 = DAT_00089978[1]" (identifier "bVar13") (= "=") (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (bVar13 == 0x3d) {\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }\n          else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }" (if "if") (parenthesized_expression "(bVar13 == 0x3d)" (( "(") (binary_expression "bVar13 == 0x3d" (identifier "bVar13") (== "==") (number_literal "0x3d")) () ")")) (compound_statement "{\n            local_74 = 2;\n            local_88 = 0x19;\n            DAT_00089978 = pbVar17;\n          }" ({ "{") (expression_statement "local_74 = 2;" (assignment_expression "local_74 = 2" (identifier "local_74") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_88 = 0x19;" (assignment_expression "local_88 = 0x19" (identifier "local_88") (= "=") (number_literal "0x19")) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (} "}")) (else_clause "else {\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }" (else "else") (compound_statement "{\n            local_74 = (bVar13 == 0x3e) + 1;\n            local_88 = 0x1a;\n            DAT_00089978 = pbVar17;\n            if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }\n          }" ({ "{") (expression_statement "local_74 = (bVar13 == 0x3e) + 1;" (assignment_expression "local_74 = (bVar13 == 0x3e) + 1" (identifier "local_74") (= "=") (binary_expression "(bVar13 == 0x3e) + 1" (parenthesized_expression "(bVar13 == 0x3e)" (( "(") (binary_expression "bVar13 == 0x3e" (identifier "bVar13") (== "==") (number_literal "0x3e")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_88 = 0x1a;" (assignment_expression "local_88 = 0x1a" (identifier "local_88") (= "=") (number_literal "0x1a")) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (if_statement "if (bVar13 == 0x3e) {\n              local_88 = 0xe;\n            }" (if "if") (parenthesized_expression "(bVar13 == 0x3e)" (( "(") (binary_expression "bVar13 == 0x3e" (identifier "bVar13") (== "==") (number_literal "0x3e")) () ")")) (compound_statement "{\n              local_88 = 0xe;\n            }" ({ "{") (expression_statement "local_88 = 0xe;" (assignment_expression "local_88 = 0xe" (identifier "local_88") (= "=") (number_literal "0xe")) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" (else "else") (compound_statement "{\n          if (uVar16 != 0x7c) goto LAB_00022883;\n          bVar20 = iVar11 != 0x1d;\n          local_74 = (DAT_00089978[1] == 0x7c) + 1;\n          local_88 = 0xf;\n          DAT_00089978 = pbVar17;\n          if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }\n        }" ({ "{") (if_statement "if (uVar16 != 0x7c) goto LAB_00022883;" (if "if") (parenthesized_expression "(uVar16 != 0x7c)" (( "(") (binary_expression "uVar16 != 0x7c" (identifier "uVar16") (!= "!=") (number_literal "0x7c")) () ")")) (goto_statement "goto LAB_00022883;" (goto "goto") (statement_identifier "LAB_00022883") (; ";"))) (expression_statement "bVar20 = iVar11 != 0x1d;" (assignment_expression "bVar20 = iVar11 != 0x1d" (identifier "bVar20") (= "=") (binary_expression "iVar11 != 0x1d" (identifier "iVar11") (!= "!=") (number_literal "0x1d"))) (; ";")) (expression_statement "local_74 = (DAT_00089978[1] == 0x7c) + 1;" (assignment_expression "local_74 = (DAT_00089978[1] == 0x7c) + 1" (identifier "local_74") (= "=") (binary_expression "(DAT_00089978[1] == 0x7c) + 1" (parenthesized_expression "(DAT_00089978[1] == 0x7c)" (( "(") (binary_expression "DAT_00089978[1] == 0x7c" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x7c")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_88 = 0xf;" (assignment_expression "local_88 = 0xf" (identifier "local_88") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "DAT_00089978 = pbVar17;" (assignment_expression "DAT_00089978 = pbVar17" (identifier "DAT_00089978") (= "=") (identifier "pbVar17")) (; ";")) (if_statement "if (DAT_00089978[1] == 0x7c) {\n            local_88 = 0x1c;\n          }" (if "if") (parenthesized_expression "(DAT_00089978[1] == 0x7c)" (( "(") (binary_expression "DAT_00089978[1] == 0x7c" (subscript_expression "DAT_00089978[1]" (identifier "DAT_00089978") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x7c")) () ")")) (compound_statement "{\n            local_88 = 0x1c;\n          }" ({ "{") (expression_statement "local_88 = 0x1c;" (assignment_expression "local_88 = 0x1c" (identifier "local_88") (= "=") (number_literal "0x1c")) (; ";")) (} "}"))) (} "}")))))))))) (} "}")) (else_clause "else {\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" (else "else") (compound_statement "{\n        local_3d = FUN_000220a0(&local_3c);\n        local_88 = FUN_00053d00(local_3c,2,&local_3d);\n        pbVar17 = local_3c;\n        if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }\n        *DAT_00089978 = local_3d;\n        DAT_00089978 = local_3c;\n        if (uVar16 != 0x2d) goto LAB_00022328;\nLAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);\n        local_74 = 1;\n        bVar20 = local_88 != 0 && iVar11 != 0x1d;\n      }" ({ "{") (expression_statement "local_3d = FUN_000220a0(&local_3c);" (assignment_expression "local_3d = FUN_000220a0(&local_3c)" (identifier "local_3d") (= "=") (call_expression "FUN_000220a0(&local_3c)" (identifier "FUN_000220a0") (argument_list "(&local_3c)" (( "(") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (expression_statement "local_88 = FUN_00053d00(local_3c,2,&local_3d);" (assignment_expression "local_88 = FUN_00053d00(local_3c,2,&local_3d)" (identifier "local_88") (= "=") (call_expression "FUN_00053d00(local_3c,2,&local_3d)" (identifier "FUN_00053d00") (argument_list "(local_3c,2,&local_3d)" (( "(") (identifier "local_3c") (, ",") (number_literal "2") (, ",") (pointer_expression "&local_3d" (& "&") (identifier "local_3d")) () ")")))) (; ";")) (expression_statement "pbVar17 = local_3c;" (assignment_expression "pbVar17 = local_3c" (identifier "pbVar17") (= "=") (identifier "local_3c")) (; ";")) (if_statement "if (local_88 != 1) {\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }" (if "if") (parenthesized_expression "(local_88 != 1)" (( "(") (binary_expression "local_88 != 1" (identifier "local_88") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n          if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }\n          *DAT_00089978 = local_3d;\n          pbVar17 = DAT_00089978;\n          DAT_00089978 = local_3c;\n          local_74 = (int)pbVar17 - (int)local_3c;\n          goto LAB_00022388;\n        }" ({ "{") (if_statement "if ((local_88 == 0) || (2 < local_88 - 7U)) {\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }\n          else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }" (if "if") (parenthesized_expression "((local_88 == 0) || (2 < local_88 - 7U))" (( "(") (binary_expression "(local_88 == 0) || (2 < local_88 - 7U)" (parenthesized_expression "(local_88 == 0)" (( "(") (binary_expression "local_88 == 0" (identifier "local_88") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(2 < local_88 - 7U)" (( "(") (binary_expression "2 < local_88 - 7U" (number_literal "2") (< "<") (binary_expression "local_88 - 7U" (identifier "local_88") (- "-") (number_literal "7U"))) () ")"))) () ")")) (compound_statement "{\n            bVar20 = iVar11 != 0x1d && local_88 != 0;\n          }" ({ "{") (expression_statement "bVar20 = iVar11 != 0x1d && local_88 != 0;" (assignment_expression "bVar20 = iVar11 != 0x1d && local_88 != 0" (identifier "bVar20") (= "=") (binary_expression "iVar11 != 0x1d && local_88 != 0" (binary_expression "iVar11 != 0x1d" (identifier "iVar11") (!= "!=") (number_literal "0x1d")) (&& "&&") (binary_expression "local_88 != 0" (identifier "local_88") (!= "!=") (number_literal "0")))) (; ";")) (} "}")) (else_clause "else {\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }" (else "else") (compound_statement "{\n            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);\n            FUN_0002bd60(uVar7,pbVar17);\n            bVar20 = false;\n            local_88 = 0;\n          }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);" (assignment_expression "uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"invalid use of operator \"%s\"",5)" (identifier "dcgettext") (argument_list "(0,"invalid use of operator \"%s\"",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid use of operator \"%s\""" (" """) (string_content "invalid use of operator ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bd60(uVar7,pbVar17);" (call_expression "FUN_0002bd60(uVar7,pbVar17)" (identifier "FUN_0002bd60") (argument_list "(uVar7,pbVar17)" (( "(") (identifier "uVar7") (, ",") (identifier "pbVar17") () ")"))) (; ";")) (expression_statement "bVar20 = false;" (assignment_expression "bVar20 = false" (identifier "bVar20") (= "=") (false "false")) (; ";")) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "*DAT_00089978 = local_3d;" (assignment_expression "*DAT_00089978 = local_3d" (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978")) (= "=") (identifier "local_3d")) (; ";")) (expression_statement "pbVar17 = DAT_00089978;" (assignment_expression "pbVar17 = DAT_00089978" (identifier "pbVar17") (= "=") (identifier "DAT_00089978")) (; ";")) (expression_statement "DAT_00089978 = local_3c;" (assignment_expression "DAT_00089978 = local_3c" (identifier "DAT_00089978") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "local_74 = (int)pbVar17 - (int)local_3c;" (assignment_expression "local_74 = (int)pbVar17 - (int)local_3c" (identifier "local_74") (= "=") (binary_expression "(int)pbVar17 - (int)local_3c" (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17")) (- "-") (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")))) (; ";")) (goto_statement "goto LAB_00022388;" (goto "goto") (statement_identifier "LAB_00022388") (; ";")) (} "}"))) (expression_statement "*DAT_00089978 = local_3d;" (assignment_expression "*DAT_00089978 = local_3d" (pointer_expression "*DAT_00089978" (* "*") (identifier "DAT_00089978")) (= "=") (identifier "local_3d")) (; ";")) (expression_statement "DAT_00089978 = local_3c;" (assignment_expression "DAT_00089978 = local_3c" (identifier "DAT_00089978") (= "=") (identifier "local_3c")) (; ";")) (if_statement "if (uVar16 != 0x2d) goto LAB_00022328;" (if "if") (parenthesized_expression "(uVar16 != 0x2d)" (( "(") (binary_expression "uVar16 != 0x2d" (identifier "uVar16") (!= "!=") (number_literal "0x2d")) () ")")) (goto_statement "goto LAB_00022328;" (goto "goto") (statement_identifier "LAB_00022328") (; ";"))) (labeled_statement "LAB_00023070:\n        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (statement_identifier "LAB_00023070") (: ":") (expression_statement "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);" (assignment_expression "local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4)" (identifier "local_88") (= "=") (pointer_expression "*(int *)(&DAT_0005e220 + uVar16 * 4)" (* "*") (cast_expression "(int *)(&DAT_0005e220 + uVar16 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0005e220 + uVar16 * 4)" (( "(") (binary_expression "&DAT_0005e220 + uVar16 * 4" (pointer_expression "&DAT_0005e220" (& "&") (identifier "DAT_0005e220")) (+ "+") (binary_expression "uVar16 * 4" (identifier "uVar16") (* "*") (number_literal "4"))) () ")"))))) (; ";"))) (expression_statement "local_74 = 1;" (assignment_expression "local_74 = 1" (identifier "local_74") (= "=") (number_literal "1")) (; ";")) (expression_statement "bVar20 = local_88 != 0 && iVar11 != 0x1d;" (assignment_expression "bVar20 = local_88 != 0 && iVar11 != 0x1d" (identifier "bVar20") (= "=") (binary_expression "local_88 != 0 && iVar11 != 0x1d" (binary_expression "local_88 != 0" (identifier "local_88") (!= "!=") (number_literal "0")) (&& "&&") (binary_expression "iVar11 != 0x1d" (identifier "iVar11") (!= "!=") (number_literal "0x1d")))) (; ";")) (} "}"))))) (labeled_statement "LAB_00022388:\n      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }" (statement_identifier "LAB_00022388") (: ":") (if_statement "if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }" (if "if") (parenthesized_expression "((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88]))" (( "(") (binary_expression "(bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])" (parenthesized_expression "(bVar20)" (( "(") (identifier "bVar20") () ")")) (&& "&&") (parenthesized_expression "((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])" (( "(") (binary_expression "(char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88]" (cast_expression "(char)(&DAT_00080220)[iVar11]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "(&DAT_00080220)[iVar11]" (parenthesized_expression "(&DAT_00080220)" (( "(") (pointer_expression "&DAT_00080220" (& "&") (identifier "DAT_00080220")) () ")")) ([ "[") (identifier "iVar11") (] "]"))) (< "<") (cast_expression "(char)(&DAT_00080220)[local_88]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "(&DAT_00080220)[local_88]" (parenthesized_expression "(&DAT_00080220)" (( "(") (pointer_expression "&DAT_00080220" (& "&") (identifier "DAT_00080220")) () ")")) ([ "[") (identifier "local_88") (] "]")))) () ")"))) () ")")) (compound_statement "{\n                    \n        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);\n      }" ({ "{") (expression_statement "FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204)" (identifier "FUN_0002be80") (argument_list "("../../gas/expr.c",0x70d,&DAT_0005e204)" (( "(") (string_literal ""../../gas/expr.c"" (" """) (string_content "../../gas/expr.c") (" """)) (, ",") (number_literal "0x70d") (, ",") (pointer_expression "&DAT_0005e204" (& "&") (identifier "DAT_0005e204")) () ")"))) (; ";")) (} "}")))) (} "}")))) (if_statement "if (iVar11 < 10) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }" (if "if") (parenthesized_expression "(iVar11 < 10)" (( "(") (binary_expression "iVar11 < 10" (identifier "iVar11") (< "<") (number_literal "10")) () ")")) (compound_statement "{\n                    \n      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);\n    }" ({ "{") (expression_statement "FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204)" (identifier "FUN_0002be80") (argument_list "("../../gas/expr.c",0x70e,&DAT_0005e204)" (( "(") (string_literal ""../../gas/expr.c"" (" """) (string_content "../../gas/expr.c") (" """)) (, ",") (number_literal "0x70e") (, ",") (pointer_expression "&DAT_0005e204" (& "&") (identifier "DAT_0005e204")) () ")"))) (; ";")) (} "}"))) (if_statement "if (0x3d < iVar11) {\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }" (if "if") (parenthesized_expression "(0x3d < iVar11)" (( "(") (binary_expression "0x3d < iVar11" (number_literal "0x3d") (< "<") (identifier "iVar11")) () ")")) (compound_statement "{\n                    \n      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);\n    }" ({ "{") (expression_statement "FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);" (call_expression "FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204)" (identifier "FUN_0002be80") (argument_list "("../../gas/expr.c",0x712,&DAT_0005e204)" (( "(") (string_literal ""../../gas/expr.c"" (" """) (string_content "../../gas/expr.c") (" """)) (, ",") (number_literal "0x712") (, ",") (pointer_expression "&DAT_0005e204" (& "&") (identifier "DAT_0005e204")) () ")"))) (; ";")) (} "}"))) (if_statement "if ((char)param_2[4] == '\x06') {\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }" (if "if") (parenthesized_expression "((char)param_2[4] == '\x06')" (( "(") (binary_expression "(char)param_2[4] == '\x06'" (cast_expression "(char)param_2[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\x06'" (' "'") (escape_sequence "\x06") (' "'"))) () ")")) (compound_statement "{\n      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      *(undefined1 *)(param_2 + 4) = 2;\n      param_2[2] = 0;\n      param_2[3] = 0;\n      *param_2 = 0;\n      param_2[1] = 0;\n    }" ({ "{") (if_statement "if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }" (if "if") (parenthesized_expression "(-param_2[3] < (int)(uint)(param_2[2] != 0))" (( "(") (binary_expression "-param_2[3] < (int)(uint)(param_2[2] != 0)" (unary_expression "-param_2[3]" (- "-") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (< "<") (cast_expression "(int)(uint)(param_2[2] != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(param_2[2] != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2[2] != 0)" (( "(") (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")"))))) () ")")) (compound_statement "{\n        pcVar9 = "left operand is a bignum; integer 0 assumed";\n      }" ({ "{") (expression_statement "pcVar9 = "left operand is a bignum; integer 0 assumed";" (assignment_expression "pcVar9 = "left operand is a bignum; integer 0 assumed"" (identifier "pcVar9") (= "=") (string_literal ""left operand is a bignum; integer 0 assumed"" (" """) (string_content "left operand is a bignum; integer 0 assumed") (" """))) (; ";")) (} "}")) (else_clause "else {\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }" (else "else") (compound_statement "{\n        pcVar9 = "left operand is a float; integer 0 assumed";\n      }" ({ "{") (expression_statement "pcVar9 = "left operand is a float; integer 0 assumed";" (assignment_expression "pcVar9 = "left operand is a float; integer 0 assumed"" (identifier "pcVar9") (= "=") (string_literal ""left operand is a float; integer 0 assumed"" (" """) (string_content "left operand is a float; integer 0 assumed") (" """))) (; ";")) (} "}")))) (expression_statement "uVar7 = dcgettext(0,pcVar9,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar9,5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,pcVar9,5)" (identifier "dcgettext") (argument_list "(0,pcVar9,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar9") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" (identifier "FUN_0002bc80") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_2 + 4) = 2" (pointer_expression "*(undefined1 *)(param_2 + 4)" (* "*") (cast_expression "(undefined1 *)(param_2 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[1] = 0;" (assignment_expression "param_2[1] = 0" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "local_94._0_1_ = (undefined1)iVar11;" (assignment_expression "local_94._0_1_ = (undefined1)iVar11" (field_expression "local_94._0_1_" (identifier "local_94") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(undefined1)iVar11" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar11"))) (; ";")) (if_statement "if (local_20 == '\x06') {\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }" (if "if") (parenthesized_expression "(local_20 == '\x06')" (( "(") (binary_expression "local_20 == '\x06'" (identifier "local_20") (== "==") (char_literal "'\x06'" (' "'") (escape_sequence "\x06") (' "'"))) () ")")) (compound_statement "{\n      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }\n      uVar7 = dcgettext(0,pcVar9,5);\n      FUN_0002bc80(uVar7);\n      local_20 = '\x02';\n      local_28 = 0;\n      local_24 = 0;\n      local_30 = (byte *)0x0;\n      local_2c = 0;\n      if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }\nLAB_00022c1a:\n      local_94._0_1_ = 0x13;\n      goto LAB_00022406;\n    }" ({ "{") (if_statement "if ((int)-local_24 < (int)(uint)(local_28 != 0)) {\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }\n      else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }" (if "if") (parenthesized_expression "((int)-local_24 < (int)(uint)(local_28 != 0))" (( "(") (binary_expression "(int)-local_24 < (int)(uint)(local_28 != 0)" (cast_expression "(int)-local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (unary_expression "-local_24" (- "-") (identifier "local_24"))) (< "<") (cast_expression "(int)(uint)(local_28 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(local_28 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_28 != 0)" (( "(") (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0")) () ")"))))) () ")")) (compound_statement "{\n        pcVar9 = "right operand is a bignum; integer 0 assumed";\n      }" ({ "{") (expression_statement "pcVar9 = "right operand is a bignum; integer 0 assumed";" (assignment_expression "pcVar9 = "right operand is a bignum; integer 0 assumed"" (identifier "pcVar9") (= "=") (string_literal ""right operand is a bignum; integer 0 assumed"" (" """) (string_content "right operand is a bignum; integer 0 assumed") (" """))) (; ";")) (} "}")) (else_clause "else {\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }" (else "else") (compound_statement "{\n        pcVar9 = "right operand is a float; integer 0 assumed";\n      }" ({ "{") (expression_statement "pcVar9 = "right operand is a float; integer 0 assumed";" (assignment_expression "pcVar9 = "right operand is a float; integer 0 assumed"" (identifier "pcVar9") (= "=") (string_literal ""right operand is a float; integer 0 assumed"" (" """) (string_content "right operand is a float; integer 0 assumed") (" """))) (; ";")) (} "}")))) (expression_statement "uVar7 = dcgettext(0,pcVar9,5);" (assignment_expression "uVar7 = dcgettext(0,pcVar9,5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,pcVar9,5)" (identifier "dcgettext") (argument_list "(0,pcVar9,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar9") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" (identifier "FUN_0002bc80") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "local_20 = '\x02';" (assignment_expression "local_20 = '\x02'" (identifier "local_20") (= "=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = (byte *)0x0;" (assignment_expression "local_30 = (byte *)0x0" (identifier "local_30") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar11 != 0x13) {\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" (if "if") (parenthesized_expression "(iVar11 != 0x13)" (( "(") (binary_expression "iVar11 != 0x13" (identifier "iVar11") (!= "!=") (number_literal "0x13")) () ")")) (compound_statement "{\n        cVar12 = (char)param_2[4];\n        if (iVar11 != 0x14) goto LAB_000223e8;\n        if (cVar12 == '\x05') goto LAB_00022cb4;\nLAB_00022980:\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        param_2[2] = uVar16 - local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;\nLAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" ({ "{") (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" (identifier "cVar12") (= "=") (cast_expression "(char)param_2[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (iVar11 != 0x14) goto LAB_000223e8;" (if "if") (parenthesized_expression "(iVar11 != 0x14)" (( "(") (binary_expression "iVar11 != 0x14" (identifier "iVar11") (!= "!=") (number_literal "0x14")) () ")")) (goto_statement "goto LAB_000223e8;" (goto "goto") (statement_identifier "LAB_000223e8") (; ";"))) (if_statement "if (cVar12 == '\x05') goto LAB_00022cb4;" (if "if") (parenthesized_expression "(cVar12 == '\x05')" (( "(") (binary_expression "cVar12 == '\x05'" (identifier "cVar12") (== "==") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (goto_statement "goto LAB_00022cb4;" (goto "goto") (statement_identifier "LAB_00022cb4") (; ";"))) (labeled_statement "LAB_00022980:\n        uVar16 = param_2[2];" (statement_identifier "LAB_00022980") (: ":") (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" (identifier "uVar16") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" (identifier "uVar19") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);" (assignment_expression "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28)" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(uVar19 - local_24) - (uint)(uVar16 < local_28)" (parenthesized_expression "(uVar19 - local_24)" (( "(") (binary_expression "uVar19 - local_24" (identifier "uVar19") (- "-") (identifier "local_24")) () ")")) (- "-") (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 < local_28)" (( "(") (binary_expression "uVar16 < local_28" (identifier "uVar16") (< "<") (identifier "local_28")) () ")"))))) (; ";")) (expression_statement "bVar5 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar5 = *(byte *)((int)param_2 + 0x11)" (identifier "bVar5") (= "=") (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "param_2[2] = uVar16 - local_28;" (assignment_expression "param_2[2] = uVar16 - local_28" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar16 - local_28" (identifier "uVar16") (- "-") (identifier "local_28"))) (; ";")) (expression_statement "bVar13 = (bVar5 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (bVar5 ^ local_1f) >> 1 & 1" (identifier "bVar13") (= "=") (binary_expression "(bVar5 ^ local_1f) >> 1 & 1" (binary_expression "(bVar5 ^ local_1f) >> 1" (parenthesized_expression "(bVar5 ^ local_1f)" (( "(") (binary_expression "bVar5 ^ local_1f" (identifier "bVar5") (^ "^") (identifier "local_1f")) () ")")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;" (if "if") (parenthesized_expression "(uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28))" (( "(") (binary_expression "uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 < local_24" (identifier "uVar19") (< "<") (identifier "local_24")) (|| "||") (binary_expression "uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 - local_24" (identifier "uVar19") (- "-") (identifier "local_24")) (< "<") (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 < local_28)" (( "(") (binary_expression "uVar16 < local_28" (identifier "uVar16") (< "<") (identifier "local_28")) () ")"))))) () ")")) (goto_statement "goto LAB_0002301d;" (goto "goto") (statement_identifier "LAB_0002301d") (; ";"))) (labeled_statement "LAB_000229b7:\n        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;" (statement_identifier "LAB_000229b7") (: ":") (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "bVar13 * '\x02' | bVar5 & 0xfd" (binary_expression "bVar13 * '\x02'" (identifier "bVar13") (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (| "|") (binary_expression "bVar5 & 0xfd" (identifier "bVar5") (& "&") (number_literal "0xfd")))) (; ";"))) (goto_statement "goto LAB_00022442;" (goto "goto") (statement_identifier "LAB_00022442") (; ";")) (} "}"))) (if_statement "if ((char)param_2[4] != '\x05') {\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }" (if "if") (parenthesized_expression "((char)param_2[4] != '\x05')" (( "(") (binary_expression "(char)param_2[4] != '\x05'" (cast_expression "(char)param_2[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]"))) (!= "!=") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (compound_statement "{\n        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\nLAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';\n        goto LAB_00022442;\n      }" ({ "{") (expression_statement "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" (identifier "bVar13") (= "=") (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1" (parenthesized_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f)" (( "(") (binary_expression "*(byte *)((int)param_2 + 0x11) ^ local_1f" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (^ "^") (identifier "local_1f")) () ")")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1"))) (; ";")) (labeled_statement "LAB_00023225:\n        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';" (statement_identifier "LAB_00023225") (: ":") (expression_statement "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02'" (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (& "&") (number_literal "0xfd")) (| "|") (binary_expression "bVar13 * '\x02'" (identifier "bVar13") (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))))) (; ";"))) (goto_statement "goto LAB_00022442;" (goto "goto") (statement_identifier "LAB_00022442") (; ";")) (} "}"))) (labeled_statement "LAB_00022c1a:\n      local_94._0_1_ = 0x13;" (statement_identifier "LAB_00022c1a") (: ":") (expression_statement "local_94._0_1_ = 0x13;" (assignment_expression "local_94._0_1_ = 0x13" (field_expression "local_94._0_1_" (identifier "local_94") (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0x13")) (; ";"))) (goto_statement "goto LAB_00022406;" (goto "goto") (statement_identifier "LAB_00022406") (; ";")) (} "}"))) (if_statement "if (iVar11 == 0x13) {\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }" (if "if") (parenthesized_expression "(iVar11 == 0x13)" (( "(") (binary_expression "iVar11 == 0x13" (identifier "iVar11") (== "==") (number_literal "0x13")) () ")")) (compound_statement "{\n      if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      cVar12 = (char)param_2[4];\n      if (cVar12 != '\x02') goto LAB_000223f1;\n      if (local_20 == '\x05') goto LAB_00022a33;\n      uVar16 = param_2[3];\n      *(char *)(param_2 + 4) = local_20;\n      *param_2 = (int)local_30;\n      param_2[1] = local_2c;\n      uVar19 = param_2[2];\n      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);\n      param_2[2] = uVar19 + local_28;\n      param_2[3] = uVar15;\n      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;\n      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }\n      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;\n      local_80 = puVar8;\n      goto LAB_000224e0;\n    }" ({ "{") (if_statement "if (local_20 == '\x02') {\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" (if "if") (parenthesized_expression "(local_20 == '\x02')" (( "(") (binary_expression "local_20 == '\x02'" (identifier "local_20") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;\nLAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" ({ "{") (if_statement "if ((char)param_2[4] == '\x05') goto LAB_00022c1a;" (if "if") (parenthesized_expression "((char)param_2[4] == '\x05')" (( "(") (binary_expression "(char)param_2[4] == '\x05'" (cast_expression "(char)param_2[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (goto_statement "goto LAB_00022c1a;" (goto "goto") (statement_identifier "LAB_00022c1a") (; ";"))) (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" (identifier "uVar16") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" (identifier "uVar19") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "bVar5 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar5 = *(byte *)((int)param_2 + 0x11)" (identifier "bVar5") (= "=") (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);" (assignment_expression "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" (identifier "uVar15") (= "=") (binary_expression "uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" (binary_expression "uVar19 + local_24" (identifier "uVar19") (+ "+") (identifier "local_24")) (+ "+") (cast_expression "(uint)CARRY4(uVar16,local_28)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar16,local_28)" (identifier "CARRY4") (argument_list "(uVar16,local_28)" (( "(") (identifier "uVar16") (, ",") (identifier "local_28") () ")")))))) (; ";")) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "param_2[2] = uVar16 + local_28;" (assignment_expression "param_2[2] = uVar16 + local_28" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar16 + local_28" (identifier "uVar16") (+ "+") (identifier "local_28"))) (; ";")) (expression_statement "bVar13 = (bVar5 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (bVar5 ^ local_1f) >> 1 & 1" (identifier "bVar13") (= "=") (binary_expression "(bVar5 ^ local_1f) >> 1 & 1" (binary_expression "(bVar5 ^ local_1f) >> 1" (parenthesized_expression "(bVar5 ^ local_1f)" (( "(") (binary_expression "bVar5 ^ local_1f" (identifier "bVar5") (^ "^") (identifier "local_1f")) () ")")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_00023225;" (if "if") (parenthesized_expression "(uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)" (( "(") (binary_expression "uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (binary_expression "uVar19 <= uVar15" (identifier "uVar19") (<= "<=") (identifier "uVar15")) (&& "&&") (binary_expression "(uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (call_expression "(uint)(uVar16 + local_28 < uVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 + local_28 < uVar16)" (( "(") (binary_expression "uVar16 + local_28 < uVar16" (binary_expression "uVar16 + local_28" (identifier "uVar16") (+ "+") (identifier "local_28")) (< "<") (identifier "uVar16")) () ")"))) (<= "<=") (binary_expression "uVar15 - uVar19" (identifier "uVar15") (- "-") (identifier "uVar19")))) () ")")) (goto_statement "goto LAB_00023225;" (goto "goto") (statement_identifier "LAB_00023225") (; ";"))) (labeled_statement "LAB_0002301d:\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;" (statement_identifier "LAB_0002301d") (: ":") (expression_statement "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "(bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (binary_expression "(bVar13 ^ 1) * '\x02'" (parenthesized_expression "(bVar13 ^ 1)" (( "(") (binary_expression "bVar13 ^ 1" (identifier "bVar13") (^ "^") (number_literal "1")) () ")")) (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (| "|") (binary_expression "bVar5 & 0xfd" (identifier "bVar5") (& "&") (number_literal "0xfd")))) (; ";"))) (goto_statement "goto LAB_00022442;" (goto "goto") (statement_identifier "LAB_00022442") (; ";")) (} "}"))) (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" (identifier "cVar12") (= "=") (cast_expression "(char)param_2[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (cVar12 != '\x02') goto LAB_000223f1;" (if "if") (parenthesized_expression "(cVar12 != '\x02')" (( "(") (binary_expression "cVar12 != '\x02'" (identifier "cVar12") (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (goto_statement "goto LAB_000223f1;" (goto "goto") (statement_identifier "LAB_000223f1") (; ";"))) (if_statement "if (local_20 == '\x05') goto LAB_00022a33;" (if "if") (parenthesized_expression "(local_20 == '\x05')" (( "(") (binary_expression "local_20 == '\x05'" (identifier "local_20") (== "==") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (goto_statement "goto LAB_00022a33;" (goto "goto") (statement_identifier "LAB_00022a33") (; ";"))) (expression_statement "uVar16 = param_2[3];" (assignment_expression "uVar16 = param_2[3]" (identifier "uVar16") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(char *)(param_2 + 4) = local_20;" (assignment_expression "*(char *)(param_2 + 4) = local_20" (pointer_expression "*(char *)(param_2 + 4)" (* "*") (cast_expression "(char *)(param_2 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "local_20")) (; ";")) (expression_statement "*param_2 = (int)local_30;" (assignment_expression "*param_2 = (int)local_30" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30"))) (; ";")) (expression_statement "param_2[1] = local_2c;" (assignment_expression "param_2[1] = local_2c" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "uVar19 = param_2[2];" (assignment_expression "uVar19 = param_2[2]" (identifier "uVar19") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);" (assignment_expression "uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28)" (identifier "uVar15") (= "=") (binary_expression "uVar16 + local_24 + (uint)CARRY4(uVar19,local_28)" (binary_expression "uVar16 + local_24" (identifier "uVar16") (+ "+") (identifier "local_24")) (+ "+") (cast_expression "(uint)CARRY4(uVar19,local_28)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar19,local_28)" (identifier "CARRY4") (argument_list "(uVar19,local_28)" (( "(") (identifier "uVar19") (, ",") (identifier "local_28") () ")")))))) (; ";")) (expression_statement "param_2[2] = uVar19 + local_28;" (assignment_expression "param_2[2] = uVar19 + local_28" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar19 + local_28" (identifier "uVar19") (+ "+") (identifier "local_28"))) (; ";")) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" (identifier "bVar13") (= "=") (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1" (binary_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1" (parenthesized_expression "(*(byte *)((int)param_2 + 0x11) ^ local_1f)" (( "(") (binary_expression "*(byte *)((int)param_2 + 0x11) ^ local_1f" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (^ "^") (identifier "local_1f")) () ")")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {\n        bVar13 = bVar13 ^ 1;\n      }" (if "if") (parenthesized_expression "(uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19))" (( "(") (binary_expression "uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)" (binary_expression "uVar15 < uVar16" (identifier "uVar15") (< "<") (identifier "uVar16")) (|| "||") (binary_expression "uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)" (binary_expression "uVar15 - uVar16" (identifier "uVar15") (- "-") (identifier "uVar16")) (< "<") (call_expression "(uint)(uVar19 + local_28 < uVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 + local_28 < uVar19)" (( "(") (binary_expression "uVar19 + local_28 < uVar19" (binary_expression "uVar19 + local_28" (identifier "uVar19") (+ "+") (identifier "local_28")) (< "<") (identifier "uVar19")) () ")"))))) () ")")) (compound_statement "{\n        bVar13 = bVar13 ^ 1;\n      }" ({ "{") (expression_statement "bVar13 = bVar13 ^ 1;" (assignment_expression "bVar13 = bVar13 ^ 1" (identifier "bVar13") (= "=") (binary_expression "bVar13 ^ 1" (identifier "bVar13") (^ "^") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd" (binary_expression "bVar13 * '\x02'" (identifier "bVar13") (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (| "|") (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (& "&") (number_literal "0xfd")))) (; ";")) (expression_statement "local_80 = puVar8;" (assignment_expression "local_80 = puVar8" (identifier "local_80") (= "=") (identifier "puVar8")) (; ";")) (goto_statement "goto LAB_000224e0;" (goto "goto") (statement_identifier "LAB_000224e0") (; ";")) (} "}"))) (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" (identifier "cVar12") (= "=") (cast_expression "(char)param_2[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (iVar11 == 0x14) {\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }" (if "if") (parenthesized_expression "(iVar11 == 0x14)" (( "(") (binary_expression "iVar11 == 0x14" (identifier "iVar11") (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\n      if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }\n      if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }\n    }" ({ "{") (if_statement "if (local_20 == '\x03') {\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }" (if "if") (parenthesized_expression "(local_20 == '\x03')" (( "(") (binary_expression "local_20 == '\x03'" (identifier "local_20") (== "==") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")")) (compound_statement "{\n        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;\n        pbVar17 = (byte *)*param_2;\n        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }\n        cVar12 = (char)param_2[4];\n      }" ({ "{") (if_statement "if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;" (if "if") (parenthesized_expression "((cVar12 != '\x03') || (puVar8 != puVar2))" (( "(") (binary_expression "(cVar12 != '\x03') || (puVar8 != puVar2)" (parenthesized_expression "(cVar12 != '\x03')" (( "(") (binary_expression "cVar12 != '\x03'" (identifier "cVar12") (!= "!=") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(puVar8 != puVar2)" (( "(") (binary_expression "puVar8 != puVar2" (identifier "puVar8") (!= "!=") (identifier "puVar2")) () ")"))) () ")")) (goto_statement "goto LAB_000223e8;" (goto "goto") (statement_identifier "LAB_000223e8") (; ";"))) (expression_statement "pbVar17 = (byte *)*param_2;" (assignment_expression "pbVar17 = (byte *)*param_2" (identifier "pbVar17") (= "=") (cast_expression "(byte *)*param_2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (if_statement "if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))) {\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }\n        else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" (if "if") (parenthesized_expression "((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8))))" (( "(") (binary_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||\n           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))" (parenthesized_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (binary_expression "puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "puVar8") (== "==") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0xc0"))) () ")")) (|| "||") (parenthesized_expression "(((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)))" (( "(") (parenthesized_expression "((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8))" (( "(") (binary_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||\n            (DAT_00089720 == puVar8)" (parenthesized_expression "(puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8))" (( "(") (binary_expression "puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)" (binary_expression "puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180" (identifier "puVar8") (== "==") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0x180"))) (|| "||") (parenthesized_expression "(DAT_000897ec == puVar8)" (( "(") (binary_expression "DAT_000897ec == puVar8" (identifier "DAT_000897ec") (== "==") (identifier "puVar8")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(DAT_00089720 == puVar8)" (( "(") (binary_expression "DAT_00089720 == puVar8" (identifier "DAT_00089720") (== "==") (identifier "puVar8")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;\n        }" ({ "{") (labeled_statement "LAB_00022c90:\n          if (local_30 == pbVar17) goto LAB_000234b2;" (statement_identifier "LAB_00022c90") (: ":") (if_statement "if (local_30 == pbVar17) goto LAB_000234b2;" (if "if") (parenthesized_expression "(local_30 == pbVar17)" (( "(") (binary_expression "local_30 == pbVar17" (identifier "local_30") (== "==") (identifier "pbVar17")) () ")")) (goto_statement "goto LAB_000234b2;" (goto "goto") (statement_identifier "LAB_000234b2") (; ";")))) (} "}")) (else_clause "else {\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" (else "else") (compound_statement "{\n          iVar6 = FUN_00038720(pbVar17,0);\n          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }\nLAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);\n          uVar10 = FUN_0003b830(*param_2);\n          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);\n          if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }\n        }" ({ "{") (expression_statement "iVar6 = FUN_00038720(pbVar17,0);" (assignment_expression "iVar6 = FUN_00038720(pbVar17,0)" (identifier "iVar6") (= "=") (call_expression "FUN_00038720(pbVar17,0)" (identifier "FUN_00038720") (argument_list "(pbVar17,0)" (( "(") (identifier "pbVar17") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }" (if "if") (parenthesized_expression "((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0))" (( "(") (binary_expression "(iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)" (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)" (( "(") (comma_expression "iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0" (assignment_expression "iVar6 = FUN_00038720(local_30,0)" (identifier "iVar6") (= "=") (call_expression "FUN_00038720(local_30,0)" (identifier "FUN_00038720") (argument_list "(local_30,0)" (( "(") (identifier "local_30") (, ",") (number_literal "0") () ")")))) (, ",") (comma_expression "pbVar17 = local_30, iVar6 != 0" (assignment_expression "pbVar17 = local_30" (identifier "pbVar17") (= "=") (identifier "local_30")) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n            pbVar17 = (byte *)*param_2;\n            goto LAB_00022c90;\n          }" ({ "{") (expression_statement "pbVar17 = (byte *)*param_2;" (assignment_expression "pbVar17 = (byte *)*param_2" (identifier "pbVar17") (= "=") (cast_expression "(byte *)*param_2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (goto_statement "goto LAB_00022c90;" (goto "goto") (statement_identifier "LAB_00022c90") (; ";")) (} "}"))) (labeled_statement "LAB_000234b2:\n          uVar7 = FUN_0003b830(pbVar17);" (statement_identifier "LAB_000234b2") (: ":") (expression_statement "uVar7 = FUN_0003b830(pbVar17);" (assignment_expression "uVar7 = FUN_0003b830(pbVar17)" (identifier "uVar7") (= "=") (call_expression "FUN_0003b830(pbVar17)" (identifier "FUN_0003b830") (argument_list "(pbVar17)" (( "(") (identifier "pbVar17") () ")")))) (; ";"))) (expression_statement "uVar10 = FUN_0003b830(*param_2);" (assignment_expression "uVar10 = FUN_0003b830(*param_2)" (identifier "uVar10") (= "=") (call_expression "FUN_0003b830(*param_2)" (identifier "FUN_0003b830") (argument_list "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (; ";")) (expression_statement "iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);" (assignment_expression "iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c)" (identifier "iVar6") (= "=") (call_expression "FUN_00024ed0(uVar10,uVar7,&local_3c)" (identifier "FUN_00024ed0") (argument_list "(uVar10,uVar7,&local_3c)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar7") (, ",") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            lVar22 = FUN_0003a3c0(*param_2);\n            lVar23 = FUN_0003a3c0(local_30);\n            uVar16 = param_2[3];\n            uVar19 = param_2[2];\n            pbVar17 = (byte *)(uVar19 - local_28);\n            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);\n            param_2[3] = uVar15;\n            bVar13 = *(byte *)((int)param_2 + 0x11);\n            param_2[2] = (int)pbVar17;\n            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;\n            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            uVar16 = (int)pbVar17 - (int)local_3c;\n            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);\n            param_2[2] = uVar16;\n            param_2[3] = uVar19;\n            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }\n            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);\n            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);\n            *(longlong *)(param_2 + 2) = lVar1;\n            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);\n            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }\n            *(undefined1 *)(param_2 + 4) = 2;\n            *param_2 = 0;\n            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            goto LAB_000224e0;\n          }" ({ "{") (expression_statement "lVar22 = FUN_0003a3c0(*param_2);" (assignment_expression "lVar22 = FUN_0003a3c0(*param_2)" (identifier "lVar22") (= "=") (call_expression "FUN_0003a3c0(*param_2)" (identifier "FUN_0003a3c0") (argument_list "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (; ";")) (expression_statement "lVar23 = FUN_0003a3c0(local_30);" (assignment_expression "lVar23 = FUN_0003a3c0(local_30)" (identifier "lVar23") (= "=") (call_expression "FUN_0003a3c0(local_30)" (identifier "FUN_0003a3c0") (argument_list "(local_30)" (( "(") (identifier "local_30") () ")")))) (; ";")) (expression_statement "uVar16 = param_2[3];" (assignment_expression "uVar16 = param_2[3]" (identifier "uVar16") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar19 = param_2[2];" (assignment_expression "uVar19 = param_2[2]" (identifier "uVar19") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pbVar17 = (byte *)(uVar19 - local_28);" (assignment_expression "pbVar17 = (byte *)(uVar19 - local_28)" (identifier "pbVar17") (= "=") (cast_expression "(byte *)(uVar19 - local_28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar19 - local_28)" (( "(") (binary_expression "uVar19 - local_28" (identifier "uVar19") (- "-") (identifier "local_28")) () ")")))) (; ";")) (expression_statement "uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);" (assignment_expression "uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28)" (identifier "uVar15") (= "=") (binary_expression "(uVar16 - local_24) - (uint)(uVar19 < local_28)" (parenthesized_expression "(uVar16 - local_24)" (( "(") (binary_expression "uVar16 - local_24" (identifier "uVar16") (- "-") (identifier "local_24")) () ")")) (- "-") (call_expression "(uint)(uVar19 < local_28)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < local_28)" (( "(") (binary_expression "uVar19 < local_28" (identifier "uVar19") (< "<") (identifier "local_28")) () ")"))))) (; ";")) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11)" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "param_2[2] = (int)pbVar17;" (assignment_expression "param_2[2] = (int)pbVar17" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17"))) (; ";")) (expression_statement "bVar5 = (bVar13 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar5 = (bVar13 ^ local_1f) >> 1 & 1" (identifier "bVar5") (= "=") (binary_expression "(bVar13 ^ local_1f) >> 1 & 1" (binary_expression "(bVar13 ^ local_1f) >> 1" (parenthesized_expression "(bVar13 ^ local_1f)" (( "(") (binary_expression "bVar13 ^ local_1f" (identifier "bVar13") (^ "^") (identifier "local_1f")) () ")")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }\n            else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" (if "if") (parenthesized_expression "(uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28))" (( "(") (binary_expression "uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)" (binary_expression "uVar16 < local_24" (identifier "uVar16") (< "<") (identifier "local_24")) (|| "||") (binary_expression "uVar16 - local_24 < (uint)(uVar19 < local_28)" (binary_expression "uVar16 - local_24" (identifier "uVar16") (- "-") (identifier "local_24")) (< "<") (call_expression "(uint)(uVar19 < local_28)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < local_28)" (( "(") (binary_expression "uVar19 < local_28" (identifier "uVar19") (< "<") (identifier "local_28")) () ")"))))) () ")")) (compound_statement "{\n              bVar5 = bVar5 ^ 1;\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" ({ "{") (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" (identifier "bVar5") (= "=") (binary_expression "bVar5 ^ 1" (identifier "bVar5") (^ "^") (number_literal "1"))) (; ";")) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "bVar13 & 0xfd | bVar5 * '\x02'" (binary_expression "bVar13 & 0xfd" (identifier "bVar13") (& "&") (number_literal "0xfd")) (| "|") (binary_expression "bVar5 * '\x02'" (identifier "bVar5") (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))))) (; ";")) (} "}")) (else_clause "else {\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" (else "else") (compound_statement "{\n              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';\n            }" ({ "{") (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "bVar13 & 0xfd | bVar5 * '\x02'" (binary_expression "bVar13 & 0xfd" (identifier "bVar13") (& "&") (number_literal "0xfd")) (| "|") (binary_expression "bVar5 * '\x02'" (identifier "bVar5") (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))))) (; ";")) (} "}")))) (expression_statement "uVar16 = (int)pbVar17 - (int)local_3c;" (assignment_expression "uVar16 = (int)pbVar17 - (int)local_3c" (identifier "uVar16") (= "=") (binary_expression "(int)pbVar17 - (int)local_3c" (cast_expression "(int)pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar17")) (- "-") (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")))) (; ";")) (expression_statement "uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);" (assignment_expression "uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c)" (identifier "uVar19") (= "=") (binary_expression "(uVar15 - local_38) - (uint)(pbVar17 < local_3c)" (parenthesized_expression "(uVar15 - local_38)" (( "(") (binary_expression "uVar15 - local_38" (identifier "uVar15") (- "-") (identifier "local_38")) () ")")) (- "-") (call_expression "(uint)(pbVar17 < local_3c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar17 < local_3c)" (( "(") (binary_expression "pbVar17 < local_3c" (identifier "pbVar17") (< "<") (identifier "local_3c")) () ")"))))) (; ";")) (expression_statement "param_2[2] = uVar16;" (assignment_expression "param_2[2] = uVar16" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "param_2[3] = uVar19;" (assignment_expression "param_2[3] = uVar19" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar19")) (; ";")) (if_statement "if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }\n            else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }" (if "if") (parenthesized_expression "(uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c))" (( "(") (binary_expression "uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)" (binary_expression "uVar15 < local_38" (identifier "uVar15") (< "<") (identifier "local_38")) (|| "||") (binary_expression "uVar15 - local_38 < (uint)(pbVar17 < local_3c)" (binary_expression "uVar15 - local_38" (identifier "uVar15") (- "-") (identifier "local_38")) (< "<") (call_expression "(uint)(pbVar17 < local_3c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar17 < local_3c)" (( "(") (binary_expression "pbVar17 < local_3c" (identifier "pbVar17") (< "<") (identifier "local_3c")) () ")"))))) () ")")) (compound_statement "{\n              bVar5 = bVar5 ^ 1;\n              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';\n              *(byte *)((int)param_2 + 0x11) = bVar13;\n            }" ({ "{") (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" (identifier "bVar5") (= "=") (binary_expression "bVar5 ^ 1" (identifier "bVar5") (^ "^") (number_literal "1"))) (; ";")) (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02'" (identifier "bVar13") (= "=") (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02'" (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (& "&") (number_literal "0xfd")) (| "|") (binary_expression "bVar5 * '\x02'" (identifier "bVar5") (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))))) (; ";")) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (identifier "bVar13")) (; ";")) (} "}")) (else_clause "else {\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }" (else "else") (compound_statement "{\n              bVar13 = *(byte *)((int)param_2 + 0x11);\n            }" ({ "{") (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11)" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (} "}")))) (expression_statement "lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);" (assignment_expression "lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16)" (identifier "lVar1") (= "=") (binary_expression "(lVar22 - lVar23) + CONCAT44(uVar19,uVar16)" (parenthesized_expression "(lVar22 - lVar23)" (( "(") (binary_expression "lVar22 - lVar23" (identifier "lVar22") (- "-") (identifier "lVar23")) () ")")) (+ "+") (call_expression "CONCAT44(uVar19,uVar16)" (identifier "CONCAT44") (argument_list "(uVar19,uVar16)" (( "(") (identifier "uVar19") (, ",") (identifier "uVar16") () ")"))))) (; ";")) (expression_statement "uVar15 = (uint)((ulonglong)lVar1 >> 0x20);" (assignment_expression "uVar15 = (uint)((ulonglong)lVar1 >> 0x20)" (identifier "uVar15") (= "=") (call_expression "(uint)((ulonglong)lVar1 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar1 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar1 >> 0x20" (cast_expression "(ulonglong)lVar1" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar1")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*(longlong *)(param_2 + 2) = lVar1;" (assignment_expression "*(longlong *)(param_2 + 2) = lVar1" (pointer_expression "*(longlong *)(param_2 + 2)" (* "*") (cast_expression "(longlong *)(param_2 + 2)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 2)" (( "(") (binary_expression "param_2 + 2" (identifier "param_2") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "lVar1")) (; ";")) (expression_statement "bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);" (assignment_expression "bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f)" (identifier "bVar5") (= "=") (binary_expression "bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f)" (identifier "bVar5") (^ "^") (call_expression "(byte)((ulonglong)(lVar22 - lVar23) >> 0x3f)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((ulonglong)(lVar22 - lVar23) >> 0x3f)" (( "(") (binary_expression "(ulonglong)(lVar22 - lVar23) >> 0x3f" (call_expression "(ulonglong)(lVar22 - lVar23)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(lVar22 - lVar23)" (( "(") (binary_expression "lVar22 - lVar23" (identifier "lVar22") (- "-") (identifier "lVar23")) () ")"))) (>> ">>") (number_literal "0x3f")) () ")"))))) (; ";")) (if_statement "if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {\n              bVar5 = bVar5 ^ 1;\n            }" (if "if") (parenthesized_expression "(uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16))" (( "(") (binary_expression "uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)" (binary_expression "uVar15 < uVar19" (identifier "uVar15") (< "<") (identifier "uVar19")) (|| "||") (binary_expression "uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)" (binary_expression "uVar15 - uVar19" (identifier "uVar15") (- "-") (identifier "uVar19")) (< "<") (call_expression "(uint)((uint)lVar1 < uVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)lVar1 < uVar16)" (( "(") (binary_expression "(uint)lVar1 < uVar16" (cast_expression "(uint)lVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar1")) (< "<") (identifier "uVar16")) () ")"))))) () ")")) (compound_statement "{\n              bVar5 = bVar5 ^ 1;\n            }" ({ "{") (expression_statement "bVar5 = bVar5 ^ 1;" (assignment_expression "bVar5 = bVar5 ^ 1" (identifier "bVar5") (= "=") (binary_expression "bVar5 ^ 1" (identifier "bVar5") (^ "^") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_2 + 4) = 2;" (assignment_expression "*(undefined1 *)(param_2 + 4) = 2" (pointer_expression "*(undefined1 *)(param_2 + 4)" (* "*") (cast_expression "(undefined1 *)(param_2 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "bVar13 & 0xfd | bVar5 * '\x02'" (binary_expression "bVar13 & 0xfd" (identifier "bVar13") (& "&") (number_literal "0xfd")) (| "|") (binary_expression "bVar5 * '\x02'" (identifier "bVar5") (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))))) (; ";")) (goto_statement "goto LAB_000224e0;" (goto "goto") (statement_identifier "LAB_000224e0") (; ";")) (} "}"))) (} "}")))) (expression_statement "cVar12 = (char)param_2[4];" (assignment_expression "cVar12 = (char)param_2[4]" (identifier "cVar12") (= "=") (cast_expression "(char)param_2[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")))) (; ";")) (} "}"))) (if_statement "if (local_20 == '\x02') {\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }" (if "if") (parenthesized_expression "(local_20 == '\x02')" (( "(") (binary_expression "local_20 == '\x02'" (identifier "local_20") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n        if (cVar12 != '\x05') goto LAB_00022980;\nLAB_00022cb4:\n        local_94._0_1_ = 0x14;\n        goto LAB_00022406;\n      }" ({ "{") (if_statement "if (cVar12 != '\x05') goto LAB_00022980;" (if "if") (parenthesized_expression "(cVar12 != '\x05')" (( "(") (binary_expression "cVar12 != '\x05'" (identifier "cVar12") (!= "!=") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (goto_statement "goto LAB_00022980;" (goto "goto") (statement_identifier "LAB_00022980") (; ";"))) (labeled_statement "LAB_00022cb4:\n        local_94._0_1_ = 0x14;" (statement_identifier "LAB_00022cb4") (: ":") (expression_statement "local_94._0_1_ = 0x14;" (assignment_expression "local_94._0_1_ = 0x14" (field_expression "local_94._0_1_" (identifier "local_94") (. ".") (field_identifier "_0_1_")) (= "=") (number_literal "0x14")) (; ";"))) (goto_statement "goto LAB_00022406;" (goto "goto") (statement_identifier "LAB_00022406") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000223e8:\n    uVar19 = local_24;" (statement_identifier "LAB_000223e8") (: ":") (expression_statement "uVar19 = local_24;" (assignment_expression "uVar19 = local_24" (identifier "uVar19") (= "=") (identifier "local_24")) (; ";"))) (expression_statement "uVar16 = local_28;" (assignment_expression "uVar16 = local_28" (identifier "uVar16") (= "=") (identifier "local_28")) (; ";")) (if_statement "if (cVar12 != '\x02') {\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }" (if "if") (parenthesized_expression "(cVar12 != '\x02')" (( "(") (binary_expression "cVar12 != '\x02'" (identifier "cVar12") (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\nLAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;\n      if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[1] = (int)local_30;\n      if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_28;\n      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);\n      bVar13 = *(byte *)((int)param_2 + 0x11);\n      bVar5 = (local_1f ^ bVar13) >> 1 & 1;\n      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }\n      puVar18 = PTR__bfd_std_section_0007ffb0;\n      if (puVar8 != puVar2) goto LAB_00022450;\n      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }\n      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }\n      goto LAB_000228f0;\n    }" ({ "{") (labeled_statement "LAB_000223f1:\n      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;" (statement_identifier "LAB_000223f1") (: ":") (if_statement "if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;" (if "if") (parenthesized_expression "((cVar12 != '\x03') || (local_20 != '\x03'))" (( "(") (binary_expression "(cVar12 != '\x03') || (local_20 != '\x03')" (parenthesized_expression "(cVar12 != '\x03')" (( "(") (binary_expression "cVar12 != '\x03'" (identifier "cVar12") (!= "!=") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(local_20 != '\x03')" (( "(") (binary_expression "local_20 != '\x03'" (identifier "local_20") (!= "!=") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_00022406;" (goto "goto") (statement_identifier "LAB_00022406") (; ";")))) (if_statement "if (1 < iVar11 - 0x13U) {\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }" (if "if") (parenthesized_expression "(1 < iVar11 - 0x13U)" (( "(") (binary_expression "1 < iVar11 - 0x13U" (number_literal "1") (< "<") (binary_expression "iVar11 - 0x13U" (identifier "iVar11") (- "-") (number_literal "0x13U"))) () ")")) (compound_statement "{\n        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;\n        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n        param_2[1] = (int)local_30;\n        goto LAB_00022442;\n      }" ({ "{") (if_statement "if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))\n        goto LAB_00022406;" (if "if") (parenthesized_expression "((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))" (( "(") (binary_expression "(param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0)" (parenthesized_expression "(param_2[3] != 0 || local_24 != 0)" (( "(") (binary_expression "param_2[3] != 0 || local_24 != 0" (binary_expression "param_2[3] != 0" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_24 != 0" (identifier "local_24") (!= "!=") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "(param_2[2] != 0 || local_28 != 0)" (( "(") (binary_expression "param_2[2] != 0 || local_28 != 0" (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00022406;" (goto "goto") (statement_identifier "LAB_00022406") (; ";"))) (expression_statement "*(undefined1 *)(param_2 + 4) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(param_2 + 4) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(param_2 + 4)" (* "*") (cast_expression "(undefined1 *)(param_2 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (= "=") (cast_expression "(undefined1)local_94" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_94"))) (; ";")) (expression_statement "param_2[1] = (int)local_30;" (assignment_expression "param_2[1] = (int)local_30" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30"))) (; ";")) (goto_statement "goto LAB_00022442;" (goto "goto") (statement_identifier "LAB_00022442") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_2 + 4) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(param_2 + 4) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(param_2 + 4)" (* "*") (cast_expression "(undefined1 *)(param_2 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (= "=") (cast_expression "(undefined1)local_94" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_94"))) (; ";")) (expression_statement "param_2[1] = (int)local_30;" (assignment_expression "param_2[1] = (int)local_30" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30"))) (; ";")) (if_statement "if (iVar11 == 0x13) {\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" (if "if") (parenthesized_expression "(iVar11 == 0x13)" (( "(") (binary_expression "iVar11 == 0x13" (identifier "iVar11") (== "==") (number_literal "0x13")) () ")")) (compound_statement "{\n        uVar16 = param_2[2];\n        uVar19 = param_2[3];\n        bVar5 = *(byte *)((int)param_2 + 0x11);\n        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);\n        param_2[3] = uVar15;\n        param_2[2] = uVar16 + local_28;\n        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;\n        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;\n        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;\n        goto LAB_00022442;\n      }" ({ "{") (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" (identifier "uVar16") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" (identifier "uVar19") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "bVar5 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar5 = *(byte *)((int)param_2 + 0x11)" (identifier "bVar5") (= "=") (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);" (assignment_expression "uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" (identifier "uVar15") (= "=") (binary_expression "uVar19 + local_24 + (uint)CARRY4(uVar16,local_28)" (binary_expression "uVar19 + local_24" (identifier "uVar19") (+ "+") (identifier "local_24")) (+ "+") (cast_expression "(uint)CARRY4(uVar16,local_28)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar16,local_28)" (identifier "CARRY4") (argument_list "(uVar16,local_28)" (( "(") (identifier "uVar16") (, ",") (identifier "local_28") () ")")))))) (; ";")) (expression_statement "param_2[3] = uVar15;" (assignment_expression "param_2[3] = uVar15" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "param_2[2] = uVar16 + local_28;" (assignment_expression "param_2[2] = uVar16 + local_28" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar16 + local_28" (identifier "uVar16") (+ "+") (identifier "local_28"))) (; ";")) (expression_statement "bVar13 = (bVar5 ^ local_1f) >> 1 & 1;" (assignment_expression "bVar13 = (bVar5 ^ local_1f) >> 1 & 1" (identifier "bVar13") (= "=") (binary_expression "(bVar5 ^ local_1f) >> 1 & 1" (binary_expression "(bVar5 ^ local_1f) >> 1" (parenthesized_expression "(bVar5 ^ local_1f)" (( "(") (binary_expression "bVar5 ^ local_1f" (identifier "bVar5") (^ "^") (identifier "local_1f")) () ")")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)\n        goto LAB_000229b7;" (if "if") (parenthesized_expression "(uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)" (( "(") (binary_expression "uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (binary_expression "uVar19 <= uVar15" (identifier "uVar19") (<= "<=") (identifier "uVar15")) (&& "&&") (binary_expression "(uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19" (call_expression "(uint)(uVar16 + local_28 < uVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 + local_28 < uVar16)" (( "(") (binary_expression "uVar16 + local_28 < uVar16" (binary_expression "uVar16 + local_28" (identifier "uVar16") (+ "+") (identifier "local_28")) (< "<") (identifier "uVar16")) () ")"))) (<= "<=") (binary_expression "uVar15 - uVar19" (identifier "uVar15") (- "-") (identifier "uVar19")))) () ")")) (goto_statement "goto LAB_000229b7;" (goto "goto") (statement_identifier "LAB_000229b7") (; ";"))) (expression_statement "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "(bVar13 ^ 1) * '\x02' | bVar5 & 0xfd" (binary_expression "(bVar13 ^ 1) * '\x02'" (parenthesized_expression "(bVar13 ^ 1)" (( "(") (binary_expression "bVar13 ^ 1" (identifier "bVar13") (^ "^") (number_literal "1")) () ")")) (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (| "|") (binary_expression "bVar5 & 0xfd" (identifier "bVar5") (& "&") (number_literal "0xfd")))) (; ";")) (goto_statement "goto LAB_00022442;" (goto "goto") (statement_identifier "LAB_00022442") (; ";")) (} "}"))) (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" (identifier "uVar16") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" (identifier "uVar19") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_2[2] = uVar16 - local_28;" (assignment_expression "param_2[2] = uVar16 - local_28" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar16 - local_28" (identifier "uVar16") (- "-") (identifier "local_28"))) (; ";")) (expression_statement "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);" (assignment_expression "param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28)" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(uVar19 - local_24) - (uint)(uVar16 < local_28)" (parenthesized_expression "(uVar19 - local_24)" (( "(") (binary_expression "uVar19 - local_24" (identifier "uVar19") (- "-") (identifier "local_24")) () ")")) (- "-") (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 < local_28)" (( "(") (binary_expression "uVar16 < local_28" (identifier "uVar16") (< "<") (identifier "local_28")) () ")"))))) (; ";")) (expression_statement "bVar13 = *(byte *)((int)param_2 + 0x11);" (assignment_expression "bVar13 = *(byte *)((int)param_2 + 0x11)" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")"))))) (; ";")) (expression_statement "bVar5 = (local_1f ^ bVar13) >> 1 & 1;" (assignment_expression "bVar5 = (local_1f ^ bVar13) >> 1 & 1" (identifier "bVar5") (= "=") (binary_expression "(local_1f ^ bVar13) >> 1 & 1" (binary_expression "(local_1f ^ bVar13) >> 1" (parenthesized_expression "(local_1f ^ bVar13)" (( "(") (binary_expression "local_1f ^ bVar13" (identifier "local_1f") (^ "^") (identifier "bVar13")) () ")")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }\n      else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }" (if "if") (parenthesized_expression "(uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28))" (( "(") (binary_expression "uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 < local_24" (identifier "uVar19") (< "<") (identifier "local_24")) (|| "||") (binary_expression "uVar19 - local_24 < (uint)(uVar16 < local_28)" (binary_expression "uVar19 - local_24" (identifier "uVar19") (- "-") (identifier "local_24")) (< "<") (call_expression "(uint)(uVar16 < local_28)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 < local_28)" (( "(") (binary_expression "uVar16 < local_28" (identifier "uVar16") (< "<") (identifier "local_28")) () ")"))))) () ")")) (compound_statement "{\n        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';\n      }" ({ "{") (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02'" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "bVar13 & 0xfd | (bVar5 ^ 1) * '\x02'" (binary_expression "bVar13 & 0xfd" (identifier "bVar13") (& "&") (number_literal "0xfd")) (| "|") (binary_expression "(bVar5 ^ 1) * '\x02'" (parenthesized_expression "(bVar5 ^ 1)" (( "(") (binary_expression "bVar5 ^ 1" (identifier "bVar5") (^ "^") (number_literal "1")) () ")")) (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))))) (; ";")) (} "}")) (else_clause "else {\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }" (else "else") (compound_statement "{\n        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;\n      }" ({ "{") (expression_statement "*(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "bVar5 * '\x02' | bVar13 & 0xfd" (binary_expression "bVar5 * '\x02'" (identifier "bVar5") (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (| "|") (binary_expression "bVar13 & 0xfd" (identifier "bVar13") (& "&") (number_literal "0xfd")))) (; ";")) (} "}")))) (expression_statement "puVar18 = PTR__bfd_std_section_0007ffb0;" (assignment_expression "puVar18 = PTR__bfd_std_section_0007ffb0" (identifier "puVar18") (= "=") (identifier "PTR__bfd_std_section_0007ffb0")) (; ";")) (if_statement "if (puVar8 != puVar2) goto LAB_00022450;" (if "if") (parenthesized_expression "(puVar8 != puVar2)" (( "(") (binary_expression "puVar8 != puVar2" (identifier "puVar8") (!= "!=") (identifier "puVar2")) () ")")) (goto_statement "goto LAB_00022450;" (goto "goto") (statement_identifier "LAB_00022450") (; ";"))) (if_statement "if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }" (if "if") (parenthesized_expression "(puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180)" (( "(") (binary_expression "puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180" (identifier "puVar2") (== "==") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0x180"))) () ")")) (compound_statement "{\nLAB_00023318:\n        local_80 = puVar18 + 0x180;\n        goto LAB_000224e0;\n      }" ({ "{") (labeled_statement "LAB_00023318:\n        local_80 = puVar18 + 0x180;" (statement_identifier "LAB_00023318") (: ":") (expression_statement "local_80 = puVar18 + 0x180;" (assignment_expression "local_80 = puVar18 + 0x180" (identifier "local_80") (= "=") (binary_expression "puVar18 + 0x180" (identifier "puVar18") (+ "+") (number_literal "0x180"))) (; ";"))) (goto_statement "goto LAB_000224e0;" (goto "goto") (statement_identifier "LAB_000224e0") (; ";")) (} "}"))) (if_statement "if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }" (if "if") (parenthesized_expression "(puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0)" (( "(") (binary_expression "puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "puVar2") (!= "!=") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0xc0" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0xc0"))) () ")")) (compound_statement "{\n        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;\n        goto LAB_00023318;\n      }" ({ "{") (if_statement "if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;" (if "if") (parenthesized_expression "((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0))" (( "(") (binary_expression "(((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||\n           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)" (parenthesized_expression "(((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0))" (( "(") (binary_expression "((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||\n            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)" (parenthesized_expression "((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2))" (( "(") (binary_expression "(DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)" (parenthesized_expression "(DAT_000897ec == puVar2)" (( "(") (binary_expression "DAT_000897ec == puVar2" (identifier "DAT_000897ec") (== "==") (identifier "puVar2")) () ")")) (|| "||") (parenthesized_expression "(DAT_00089720 == puVar2)" (( "(") (binary_expression "DAT_00089720 == puVar2" (identifier "DAT_00089720") (== "==") (identifier "puVar2")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)" (( "(") (comma_expression "iVar11 = FUN_00038720(*param_2,0), iVar11 != 0" (assignment_expression "iVar11 = FUN_00038720(*param_2,0)" (identifier "iVar11") (= "=") (call_expression "FUN_00038720(*param_2,0)" (identifier "FUN_00038720") (argument_list "(*param_2,0)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar11 = FUN_00038720(local_30,0), iVar11 != 0)" (( "(") (comma_expression "iVar11 = FUN_00038720(local_30,0), iVar11 != 0" (assignment_expression "iVar11 = FUN_00038720(local_30,0)" (identifier "iVar11") (= "=") (call_expression "FUN_00038720(local_30,0)" (identifier "FUN_00038720") (argument_list "(local_30,0)" (( "(") (identifier "local_30") (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000224e0;" (goto "goto") (statement_identifier "LAB_000224e0") (; ";"))) (goto_statement "goto LAB_00023318;" (goto "goto") (statement_identifier "LAB_00023318") (; ";")) (} "}"))) (goto_statement "goto LAB_000228f0;" (goto "goto") (statement_identifier "LAB_000228f0") (; ";")) (} "}"))) (if_statement "if (local_20 != '\x02') {\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }" (if "if") (parenthesized_expression "(local_20 != '\x02')" (( "(") (binary_expression "local_20 != '\x02'" (identifier "local_20") (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\nLAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);\n      *param_2 = iVar6;\n      iVar6 = FUN_00021220(&local_30);\n      param_2[2] = 0;\n      param_2[1] = iVar6;\n      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;\n      param_2[3] = 0;\n      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;\n      goto LAB_00022442;\n    }" ({ "{") (labeled_statement "LAB_00022a33:\nLAB_00022406:\n      iVar6 = FUN_00021220(param_2);" (statement_identifier "LAB_00022a33") (: ":") (labeled_statement "LAB_00022406:\n      iVar6 = FUN_00021220(param_2);" (statement_identifier "LAB_00022406") (: ":") (expression_statement "iVar6 = FUN_00021220(param_2);" (assignment_expression "iVar6 = FUN_00021220(param_2)" (identifier "iVar6") (= "=") (call_expression "FUN_00021220(param_2)" (identifier "FUN_00021220") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")))) (expression_statement "*param_2 = iVar6;" (assignment_expression "*param_2 = iVar6" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "iVar6 = FUN_00021220(&local_30);" (assignment_expression "iVar6 = FUN_00021220(&local_30)" (identifier "iVar6") (= "=") (call_expression "FUN_00021220(&local_30)" (identifier "FUN_00021220") (argument_list "(&local_30)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[1] = iVar6;" (assignment_expression "param_2[1] = iVar6" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 4) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(param_2 + 4) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(param_2 + 4)" (* "*") (cast_expression "(undefined1 *)(param_2 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (= "=") (cast_expression "(undefined1)local_94" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_94"))) (; ";")) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;" (assignment_expression "*(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfc | 1" (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfc" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (& "&") (number_literal "0xfc")) (| "|") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00022442;" (goto "goto") (statement_identifier "LAB_00022442") (; ";")) (} "}"))) (expression_statement "local_5c = local_28;" (assignment_expression "local_5c = local_28" (identifier "local_5c") (= "=") (identifier "local_28")) (; ";")) (expression_statement "local_58 = local_24;" (assignment_expression "local_58 = local_24" (identifier "local_58") (= "=") (identifier "local_24")) (; ";")) (if_statement "if (local_24 == 0 && local_28 == 0) {\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }\n    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" (if "if") (parenthesized_expression "(local_24 == 0 && local_28 == 0)" (( "(") (binary_expression "local_24 == 0 && local_28 == 0" (binary_expression "local_24 == 0" (identifier "local_24") (== "==") (number_literal "0")) (&& "&&") (binary_expression "local_28 == 0" (identifier "local_28") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n      if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }\n    }" ({ "{") (if_statement "if (iVar11 - 0xbU < 2) {\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }" (if "if") (parenthesized_expression "(iVar11 - 0xbU < 2)" (( "(") (binary_expression "iVar11 - 0xbU < 2" (binary_expression "iVar11 - 0xbU" (identifier "iVar11") (- "-") (number_literal "0xbU")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        uVar7 = dcgettext(0,"division by zero",5);\n        FUN_0002bc80(uVar7);\n        local_5c = 1;\n        local_58 = 0;\n      }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"division by zero",5);" (assignment_expression "uVar7 = dcgettext(0,"division by zero",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"division by zero",5)" (identifier "dcgettext") (argument_list "(0,"division by zero",5)" (( "(") (number_literal "0") (, ",") (string_literal ""division by zero"" (" """) (string_content "division by zero") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar7);" (call_expression "FUN_0002bc80(uVar7)" (identifier "FUN_0002bc80") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "local_5c = 1;" (assignment_expression "local_5c = 1" (identifier "local_5c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")) (else_clause "else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" (else "else") (if_statement "if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" (if "if") (parenthesized_expression "((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2))" (( "(") (binary_expression "(local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)" (parenthesized_expression "(local_24 != 0 || -local_24 < (uint)(0x3f < local_28))" (( "(") (binary_expression "local_24 != 0 || -local_24 < (uint)(0x3f < local_28)" (binary_expression "local_24 != 0" (identifier "local_24") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "-local_24 < (uint)(0x3f < local_28)" (unary_expression "-local_24" (- "-") (identifier "local_24")) (< "<") (call_expression "(uint)(0x3f < local_28)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x3f < local_28)" (( "(") (binary_expression "0x3f < local_28" (number_literal "0x3f") (< "<") (identifier "local_28")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(iVar11 - 0xdU < 2)" (( "(") (binary_expression "iVar11 - 0xdU < 2" (binary_expression "iVar11 - 0xdU" (identifier "iVar11") (- "-") (number_literal "0xdU")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n      uVar7 = dcgettext(0,"shift count",5);\n      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);\n      param_2[2] = 0;\n      param_2[3] = 0;\n      local_5c = 0;\n      local_58 = 0;\n    }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"shift count",5);" (assignment_expression "uVar7 = dcgettext(0,"shift count",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"shift count",5)" (identifier "dcgettext") (argument_list "(0,"shift count",5)" (( "(") (number_literal "0") (, ",") (string_literal ""shift count"" (" """) (string_content "shift count") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);" (call_expression "FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0)" (identifier "FUN_0002c280") (argument_list "(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0)" (( "(") (identifier "uVar7") (, ",") (identifier "uVar16") (, ",") (identifier "uVar19") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x3f") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "param_2[2] = 0;" (assignment_expression "param_2[2] = 0" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (} "}"))))) (switch_statement "switch(iVar11) {\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }" (switch "switch") (parenthesized_expression "(iVar11)" (( "(") (identifier "iVar11") () ")")) (compound_statement "{\n    case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;\n    case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;\n    case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;\n    case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;\n    case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;\n    case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;\n    case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;\n    case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;\n    default:\n      goto LAB_00022a33;\n    case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;\n    case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;\n    case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;\n    case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;\n    case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;\n    case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;\n    case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;\n    case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));\n    }" ({ "{") (case_statement "case 10:\n      iVar6 = param_2[2];\n      uVar16 = param_2[2];\n      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);\n      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;\n      break;" (case "case") (number_literal "10") (: ":") (expression_statement "iVar6 = param_2[2];" (assignment_expression "iVar6 = param_2[2]" (identifier "iVar6") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" (identifier "uVar16") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);" (assignment_expression "param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16)" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)local_5c * (ulonglong)uVar16)" (( "(") (binary_expression "(ulonglong)local_5c * (ulonglong)uVar16" (cast_expression "(ulonglong)local_5c" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "local_5c")) (* "*") (cast_expression "(ulonglong)uVar16" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar16"))) () ")")))) (; ";")) (expression_statement "param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58;" (assignment_expression "param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c + iVar6 * local_58" (binary_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +\n                   param_2[3] * local_5c" (cast_expression "(int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20)" (( "(") (binary_expression "(ulonglong)local_5c * (ulonglong)uVar16 >> 0x20" (binary_expression "(ulonglong)local_5c * (ulonglong)uVar16" (cast_expression "(ulonglong)local_5c" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "local_5c")) (* "*") (cast_expression "(ulonglong)uVar16" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar16"))) (>> ">>") (number_literal "0x20")) () ")"))) (+ "+") (binary_expression "param_2[3] * local_5c" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (* "*") (identifier "local_5c"))) (+ "+") (binary_expression "iVar6 * local_58" (identifier "iVar6") (* "*") (identifier "local_58")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:\n      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);" (assignment_expression "uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58)" (identifier "uVar21") (= "=") (call_expression "FUN_00059a10(param_2[2],param_2[3],local_5c,local_58)" (identifier "FUN_00059a10") (argument_list "(param_2[2],param_2[3],local_5c,local_58)" (( "(") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "local_5c") (, ",") (identifier "local_58") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(param_2 + 2) = uVar21;" (assignment_expression "*(undefined8 *)(param_2 + 2) = uVar21" (pointer_expression "*(undefined8 *)(param_2 + 2)" (* "*") (cast_expression "(undefined8 *)(param_2 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 2)" (( "(") (binary_expression "param_2 + 2" (identifier "param_2") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "uVar21")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);\n      *(undefined8 *)(param_2 + 2) = uVar21;\n      break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);" (assignment_expression "uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58)" (identifier "uVar21") (= "=") (call_expression "FUN_00059b60(param_2[2],param_2[3],local_5c,local_58)" (identifier "FUN_00059b60") (argument_list "(param_2[2],param_2[3],local_5c,local_58)" (( "(") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "local_5c") (, ",") (identifier "local_58") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(param_2 + 2) = uVar21;" (assignment_expression "*(undefined8 *)(param_2 + 2) = uVar21" (pointer_expression "*(undefined8 *)(param_2 + 2)" (* "*") (cast_expression "(undefined8 *)(param_2 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 2)" (( "(") (binary_expression "param_2 + 2" (identifier "param_2") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "uVar21")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xd:\n      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[3] = uVar16;\n      param_2[2] = uVar19;\n      break;" (case "case") (number_literal "0xd") (: ":") (expression_statement "uVar15 = param_2[2] << ((byte)local_5c & 0x1f);" (assignment_expression "uVar15 = param_2[2] << ((byte)local_5c & 0x1f)" (identifier "uVar15") (= "=") (binary_expression "param_2[2] << ((byte)local_5c & 0x1f)" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (<< "<<") (parenthesized_expression "((byte)local_5c & 0x1f)" (( "(") (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_5c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar19 = uVar15;" (assignment_expression "uVar19 = uVar15" (identifier "uVar19") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);" (assignment_expression "uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f)" (identifier "uVar16") (= "=") (binary_expression "param_2[3] << ((byte)local_5c & 0x1f) |\n               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f)" (binary_expression "param_2[3] << ((byte)local_5c & 0x1f)" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (<< "<<") (parenthesized_expression "((byte)local_5c & 0x1f)" (( "(") (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_5c")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f)" (cast_expression "(uint)param_2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (>> ">>") (binary_expression "0x20 - ((byte)local_5c & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "((byte)local_5c & 0x1f)" (( "(") (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_5c")) (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (if_statement "if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" (if "if") (parenthesized_expression "((local_5c & 0x20) != 0)" (( "(") (binary_expression "(local_5c & 0x20) != 0" (parenthesized_expression "(local_5c & 0x20)" (( "(") (binary_expression "local_5c & 0x20" (identifier "local_5c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" ({ "{") (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = uVar15;" (assignment_expression "uVar16 = uVar15" (identifier "uVar16") (= "=") (identifier "uVar15")) (; ";")) (} "}"))) (expression_statement "param_2[3] = uVar16;" (assignment_expression "param_2[3] = uVar16" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "param_2[2] = uVar19;" (assignment_expression "param_2[2] = uVar19" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar19")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xe:\n      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);\n      uVar19 = uVar15;\n      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);\n      if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }\n      param_2[2] = uVar16;\n      param_2[3] = uVar19;\n      break;" (case "case") (number_literal "0xe") (: ":") (expression_statement "uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);" (assignment_expression "uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f)" (identifier "uVar15") (= "=") (binary_expression "(uint)param_2[3] >> ((byte)local_5c & 0x1f)" (cast_expression "(uint)param_2[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (>> ">>") (parenthesized_expression "((byte)local_5c & 0x1f)" (( "(") (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_5c")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar19 = uVar15;" (assignment_expression "uVar19 = uVar15" (identifier "uVar19") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);" (assignment_expression "uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f)" (identifier "uVar16") (= "=") (binary_expression "(uint)param_2[2] >> ((byte)local_5c & 0x1f) |\n               param_2[3] << 0x20 - ((byte)local_5c & 0x1f)" (binary_expression "(uint)param_2[2] >> ((byte)local_5c & 0x1f)" (cast_expression "(uint)param_2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (>> ">>") (parenthesized_expression "((byte)local_5c & 0x1f)" (( "(") (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_5c")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "param_2[3] << 0x20 - ((byte)local_5c & 0x1f)" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (<< "<<") (binary_expression "0x20 - ((byte)local_5c & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "((byte)local_5c & 0x1f)" (( "(") (binary_expression "(byte)local_5c & 0x1f" (cast_expression "(byte)local_5c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_5c")) (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (if_statement "if ((local_5c & 0x20) != 0) {\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" (if "if") (parenthesized_expression "((local_5c & 0x20) != 0)" (( "(") (binary_expression "(local_5c & 0x20) != 0" (parenthesized_expression "(local_5c & 0x20)" (( "(") (binary_expression "local_5c & 0x20" (identifier "local_5c") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar19 = 0;\n        uVar16 = uVar15;\n      }" ({ "{") (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = uVar15;" (assignment_expression "uVar16 = uVar15" (identifier "uVar16") (= "=") (identifier "uVar15")) (; ";")) (} "}"))) (expression_statement "param_2[2] = uVar16;" (assignment_expression "param_2[2] = uVar16" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "param_2[3] = uVar19;" (assignment_expression "param_2[3] = uVar19" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar19")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xf:\n      param_2[2] = param_2[2] | local_5c;\n      param_2[3] = param_2[3] | local_58;\n      break;" (case "case") (number_literal "0xf") (: ":") (expression_statement "param_2[2] = param_2[2] | local_5c;" (assignment_expression "param_2[2] = param_2[2] | local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_2[2] | local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (| "|") (identifier "local_5c"))) (; ";")) (expression_statement "param_2[3] = param_2[3] | local_58;" (assignment_expression "param_2[3] = param_2[3] | local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_2[3] | local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (| "|") (identifier "local_58"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x10:\n      param_2[2] = param_2[2] | ~local_5c;\n      param_2[3] = param_2[3] | ~local_58;\n      break;" (case "case") (number_literal "0x10") (: ":") (expression_statement "param_2[2] = param_2[2] | ~local_5c;" (assignment_expression "param_2[2] = param_2[2] | ~local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_2[2] | ~local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (| "|") (unary_expression "~local_5c" (~ "~") (identifier "local_5c")))) (; ";")) (expression_statement "param_2[3] = param_2[3] | ~local_58;" (assignment_expression "param_2[3] = param_2[3] | ~local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_2[3] | ~local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (| "|") (unary_expression "~local_58" (~ "~") (identifier "local_58")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11:\n      param_2[2] = param_2[2] ^ local_5c;\n      param_2[3] = param_2[3] ^ local_58;\n      break;" (case "case") (number_literal "0x11") (: ":") (expression_statement "param_2[2] = param_2[2] ^ local_5c;" (assignment_expression "param_2[2] = param_2[2] ^ local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_2[2] ^ local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (^ "^") (identifier "local_5c"))) (; ";")) (expression_statement "param_2[3] = param_2[3] ^ local_58;" (assignment_expression "param_2[3] = param_2[3] ^ local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_2[3] ^ local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (^ "^") (identifier "local_58"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x12:\n      param_2[2] = param_2[2] & local_5c;\n      param_2[3] = param_2[3] & local_58;\n      break;" (case "case") (number_literal "0x12") (: ":") (expression_statement "param_2[2] = param_2[2] & local_5c;" (assignment_expression "param_2[2] = param_2[2] & local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_2[2] & local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (& "&") (identifier "local_5c"))) (; ";")) (expression_statement "param_2[3] = param_2[3] & local_58;" (assignment_expression "param_2[3] = param_2[3] & local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_2[3] & local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (& "&") (identifier "local_58"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n      goto LAB_00022a33;" (default "default") (: ":") (goto_statement "goto LAB_00022a33;" (goto "goto") (statement_identifier "LAB_00022a33") (; ";"))) (case_statement "case 0x14:\n      uVar16 = param_2[2];\n      uVar19 = param_2[3];\n      param_2[2] = uVar16 - local_5c;\n      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);\n      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }\n      break;" (case "case") (number_literal "0x14") (: ":") (expression_statement "uVar16 = param_2[2];" (assignment_expression "uVar16 = param_2[2]" (identifier "uVar16") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar19 = param_2[3];" (assignment_expression "uVar19 = param_2[3]" (identifier "uVar19") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_2[2] = uVar16 - local_5c;" (assignment_expression "param_2[2] = uVar16 - local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar16 - local_5c" (identifier "uVar16") (- "-") (identifier "local_5c"))) (; ";")) (expression_statement "param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);" (assignment_expression "param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c)" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "(uVar19 - local_58) - (uint)(uVar16 < local_5c)" (parenthesized_expression "(uVar19 - local_58)" (( "(") (binary_expression "uVar19 - local_58" (identifier "uVar19") (- "-") (identifier "local_58")) () ")")) (- "-") (call_expression "(uint)(uVar16 < local_5c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 < local_5c)" (( "(") (binary_expression "uVar16 < local_5c" (identifier "uVar16") (< "<") (identifier "local_5c")) () ")"))))) (; ";")) (if_statement "if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }" (if "if") (parenthesized_expression "(uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c))" (( "(") (binary_expression "uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)" (binary_expression "uVar19 < local_58" (identifier "uVar19") (< "<") (identifier "local_58")) (|| "||") (binary_expression "uVar19 - local_58 < (uint)(uVar16 < local_5c)" (binary_expression "uVar19 - local_58" (identifier "uVar19") (- "-") (identifier "local_58")) (< "<") (call_expression "(uint)(uVar16 < local_5c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 < local_5c)" (( "(") (binary_expression "uVar16 < local_5c" (identifier "uVar16") (< "<") (identifier "local_5c")) () ")"))))) () ")")) (compound_statement "{\n        *(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;\n      }" ({ "{") (expression_statement "*(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd;" (assignment_expression "*(byte *)((int)param_2 + 0x11) =\n             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (binary_expression "(*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |\n             *(byte *)((int)param_2 + 0x11) & 0xfd" (binary_expression "(*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02'" (parenthesized_expression "(*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1)" (( "(") (binary_expression "*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1" (binary_expression "*(byte *)((int)param_2 + 0x11) >> 1 & 1" (binary_expression "*(byte *)((int)param_2 + 0x11) >> 1" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) (^ "^") (number_literal "1")) () ")")) (* "*") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) (| "|") (binary_expression "*(byte *)((int)param_2 + 0x11) & 0xfd" (pointer_expression "*(byte *)((int)param_2 + 0x11)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x11)" (( "(") (binary_expression "(int)param_2 + 0x11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x11")) () ")")))) (& "&") (number_literal "0xfd")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x15:\n      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);\n      goto code_r0x00022ed0;" (case "case") (number_literal "0x15") (: ":") (expression_statement "uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);" (assignment_expression "uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58)" (identifier "uVar16") (= "=") (call_expression "(uint)(param_2[2] == local_5c && param_2[3] == local_58)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2[2] == local_5c && param_2[3] == local_58)" (( "(") (binary_expression "param_2[2] == local_5c && param_2[3] == local_58" (binary_expression "param_2[2] == local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (== "==") (identifier "local_5c")) (&& "&&") (binary_expression "param_2[3] == local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (== "==") (identifier "local_58"))) () ")")))) (; ";")) (goto_statement "goto code_r0x00022ed0;" (goto "goto") (statement_identifier "code_r0x00022ed0") (; ";"))) (case_statement "case 0x16:\n      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);\n      goto code_r0x00022ed0;" (case "case") (number_literal "0x16") (: ":") (expression_statement "uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);" (assignment_expression "uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58)" (identifier "uVar16") (= "=") (call_expression "(uint)(param_2[2] != local_5c || param_2[3] != local_58)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2[2] != local_5c || param_2[3] != local_58)" (( "(") (binary_expression "param_2[2] != local_5c || param_2[3] != local_58" (binary_expression "param_2[2] != local_5c" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (!= "!=") (identifier "local_5c")) (|| "||") (binary_expression "param_2[3] != local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (!= "!=") (identifier "local_58"))) () ")")))) (; ";")) (goto_statement "goto code_r0x00022ed0;" (goto "goto") (statement_identifier "code_r0x00022ed0") (; ";"))) (case_statement "case 0x17:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;\ncode_r0x00022d9e:\n      uVar16 = 0;\n      goto code_r0x00022ed0;" (case "case") (number_literal "0x17") (: ":") (expression_statement "iVar6 = param_2[3] - local_58;" (assignment_expression "iVar6 = param_2[3] - local_58" (identifier "iVar6") (= "=") (binary_expression "param_2[3] - local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (- "-") (identifier "local_58"))) (; ";")) (if_statement "if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;" (if "if") (parenthesized_expression "((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0)" (( "(") (binary_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (parenthesized_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c)))" (( "(") (binary_expression "SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" (call_expression "SBORROW4(param_2[3],local_58)" (identifier "SBORROW4") (argument_list "(param_2[3],local_58)" (( "(") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "local_58") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" (identifier "SBORROW4") (argument_list "(iVar6,(uint)((uint)param_2[2] < local_5c))" (( "(") (identifier "iVar6") (, ",") (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)param_2[2] < local_5c)" (( "(") (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (< "<") (identifier "local_5c")) () ")"))) () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (cast_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar6 - (uint)((uint)param_2[2] < local_5c))" (( "(") (binary_expression "iVar6 - (uint)((uint)param_2[2] < local_5c)" (identifier "iVar6") (- "-") (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)param_2[2] < local_5c)" (( "(") (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (< "<") (identifier "local_5c")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (goto_statement "goto code_r0x00022d74;" (goto "goto") (statement_identifier "code_r0x00022d74") (; ";"))) (labeled_statement "code_r0x00022d9e:\n      uVar16 = 0;" (statement_identifier "code_r0x00022d9e") (: ":") (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";"))) (goto_statement "goto code_r0x00022ed0;" (goto "goto") (statement_identifier "code_r0x00022ed0") (; ";"))) (case_statement "case 0x18:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;" (case "case") (number_literal "0x18") (: ":") (expression_statement "iVar6 = local_58 - param_2[3];" (assignment_expression "iVar6 = local_58 - param_2[3]" (identifier "iVar6") (= "=") (binary_expression "local_58 - param_2[3]" (identifier "local_58") (- "-") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;" (if "if") (parenthesized_expression "((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0)" (( "(") (binary_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (parenthesized_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2])))" (( "(") (binary_expression "SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" (call_expression "SBORROW4(local_58,param_2[3])" (identifier "SBORROW4") (argument_list "(local_58,param_2[3])" (( "(") (identifier "local_58") (, ",") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) () ")"))) (!= "!=") (call_expression "SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" (identifier "SBORROW4") (argument_list "(iVar6,(uint)(local_5c < (uint)param_2[2]))" (( "(") (identifier "iVar6") (, ",") (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_5c < (uint)param_2[2])" (( "(") (binary_expression "local_5c < (uint)param_2[2]" (identifier "local_5c") (< "<") (cast_expression "(uint)param_2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) () ")"))) () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (cast_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2]))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar6 - (uint)(local_5c < (uint)param_2[2]))" (( "(") (binary_expression "iVar6 - (uint)(local_5c < (uint)param_2[2])" (identifier "iVar6") (- "-") (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_5c < (uint)param_2[2])" (( "(") (binary_expression "local_5c < (uint)param_2[2]" (identifier "local_5c") (< "<") (cast_expression "(uint)param_2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (goto_statement "goto code_r0x00022d9e;" (goto "goto") (statement_identifier "code_r0x00022d9e") (; ";"))) (goto_statement "goto code_r0x00022d74;" (goto "goto") (statement_identifier "code_r0x00022d74") (; ";"))) (case_statement "case 0x19:\n      iVar6 = param_2[3] - local_58;\n      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;\n      goto code_r0x00022d74;" (case "case") (number_literal "0x19") (: ":") (expression_statement "iVar6 = param_2[3] - local_58;" (assignment_expression "iVar6 = param_2[3] - local_58" (identifier "iVar6") (= "=") (binary_expression "param_2[3] - local_58" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (- "-") (identifier "local_58"))) (; ";")) (if_statement "if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;" (if "if") (parenthesized_expression "((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0)" (( "(") (binary_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=\n          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (parenthesized_expression "(SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c)))" (( "(") (binary_expression "SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" (call_expression "SBORROW4(param_2[3],local_58)" (identifier "SBORROW4") (argument_list "(param_2[3],local_58)" (( "(") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "local_58") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))" (identifier "SBORROW4") (argument_list "(iVar6,(uint)((uint)param_2[2] < local_5c))" (( "(") (identifier "iVar6") (, ",") (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)param_2[2] < local_5c)" (( "(") (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (< "<") (identifier "local_5c")) () ")"))) () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0" (cast_expression "(int)(iVar6 - (uint)((uint)param_2[2] < local_5c))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar6 - (uint)((uint)param_2[2] < local_5c))" (( "(") (binary_expression "iVar6 - (uint)((uint)param_2[2] < local_5c)" (identifier "iVar6") (- "-") (call_expression "(uint)((uint)param_2[2] < local_5c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)param_2[2] < local_5c)" (( "(") (binary_expression "(uint)param_2[2] < local_5c" (cast_expression "(uint)param_2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (< "<") (identifier "local_5c")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (goto_statement "goto code_r0x00022d9e;" (goto "goto") (statement_identifier "code_r0x00022d9e") (; ";"))) (goto_statement "goto code_r0x00022d74;" (goto "goto") (statement_identifier "code_r0x00022d74") (; ";"))) (case_statement "case 0x1a:\n      iVar6 = local_58 - param_2[3];\n      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;\ncode_r0x00022d74:\n      uVar16 = 1;\ncode_r0x00022ed0:\n      param_2[2] = -uVar16;\n      param_2[3] = -(uint)(uVar16 != 0);\n      break;" (case "case") (number_literal "0x1a") (: ":") (expression_statement "iVar6 = local_58 - param_2[3];" (assignment_expression "iVar6 = local_58 - param_2[3]" (identifier "iVar6") (= "=") (binary_expression "local_58 - param_2[3]" (identifier "local_58") (- "-") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;" (if "if") (parenthesized_expression "((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0)" (( "(") (binary_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==\n          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (parenthesized_expression "(SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2])))" (( "(") (binary_expression "SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" (call_expression "SBORROW4(local_58,param_2[3])" (identifier "SBORROW4") (argument_list "(local_58,param_2[3])" (( "(") (identifier "local_58") (, ",") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) () ")"))) (!= "!=") (call_expression "SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))" (identifier "SBORROW4") (argument_list "(iVar6,(uint)(local_5c < (uint)param_2[2]))" (( "(") (identifier "iVar6") (, ",") (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_5c < (uint)param_2[2])" (( "(") (binary_expression "local_5c < (uint)param_2[2]" (identifier "local_5c") (< "<") (cast_expression "(uint)param_2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) () ")"))) () ")")))) () ")")) (== "==") (binary_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0" (cast_expression "(int)(iVar6 - (uint)(local_5c < (uint)param_2[2]))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar6 - (uint)(local_5c < (uint)param_2[2]))" (( "(") (binary_expression "iVar6 - (uint)(local_5c < (uint)param_2[2])" (identifier "iVar6") (- "-") (call_expression "(uint)(local_5c < (uint)param_2[2])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_5c < (uint)param_2[2])" (( "(") (binary_expression "local_5c < (uint)param_2[2]" (identifier "local_5c") (< "<") (cast_expression "(uint)param_2[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (goto_statement "goto code_r0x00022d9e;" (goto "goto") (statement_identifier "code_r0x00022d9e") (; ";"))) (labeled_statement "code_r0x00022d74:\n      uVar16 = 1;" (statement_identifier "code_r0x00022d74") (: ":") (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" (identifier "uVar16") (= "=") (number_literal "1")) (; ";"))) (labeled_statement "code_r0x00022ed0:\n      param_2[2] = -uVar16;" (statement_identifier "code_r0x00022ed0") (: ":") (expression_statement "param_2[2] = -uVar16;" (assignment_expression "param_2[2] = -uVar16" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (unary_expression "-uVar16" (- "-") (identifier "uVar16"))) (; ";"))) (expression_statement "param_2[3] = -(uint)(uVar16 != 0);" (assignment_expression "param_2[3] = -(uint)(uVar16 != 0)" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (unary_expression "-(uint)(uVar16 != 0)" (- "-") (call_expression "(uint)(uVar16 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 != 0)" (( "(") (binary_expression "uVar16 != 0" (identifier "uVar16") (!= "!=") (number_literal "0")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x1b:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));\n      break;" (case "case") (number_literal "0x1b") (: ":") (expression_statement "iVar6 = param_2[3];" (assignment_expression "iVar6 = param_2[3]" (identifier "iVar6") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));" (assignment_expression "param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0))" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (call_expression "(uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0))" (( "(") (binary_expression "(param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0)" (parenthesized_expression "(param_2[2] != 0 || iVar6 != 0)" (( "(") (binary_expression "param_2[2] != 0 || iVar6 != 0" (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "(local_5c != 0 || local_58 != 0)" (( "(") (binary_expression "local_5c != 0 || local_58 != 0" (binary_expression "local_5c != 0" (identifier "local_5c") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_58 != 0" (identifier "local_58") (!= "!=") (number_literal "0"))) () ")"))) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x1c:\n      iVar6 = param_2[3];\n      param_2[3] = 0;\n      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));" (case "case") (number_literal "0x1c") (: ":") (expression_statement "iVar6 = param_2[3];" (assignment_expression "iVar6 = param_2[3]" (identifier "iVar6") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_2[3] = 0;" (assignment_expression "param_2[3] = 0" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));" (assignment_expression "param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0))" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (call_expression "(uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0))" (( "(") (binary_expression "(param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0)" (parenthesized_expression "(param_2[2] != 0 || local_5c != 0)" (( "(") (binary_expression "param_2[2] != 0 || local_5c != 0" (binary_expression "param_2[2] != 0" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_5c != 0" (identifier "local_5c") (!= "!=") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "(iVar6 != 0 || local_58 != 0)" (( "(") (binary_expression "iVar6 != 0 || local_58 != 0" (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_58 != 0" (identifier "local_58") (!= "!=") (number_literal "0"))) () ")"))) () ")")))) (; ";"))) (} "}"))) (labeled_statement "LAB_00022442:\n    if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }" (statement_identifier "LAB_00022442") (: ":") (if_statement "if (puVar8 != puVar2) {\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }" (if "if") (parenthesized_expression "(puVar8 != puVar2)" (( "(") (binary_expression "puVar8 != puVar2" (identifier "puVar8") (!= "!=") (identifier "puVar2")) () ")")) (compound_statement "{\nLAB_00022450:\n      puVar18 = puVar3;\n      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }\n    }" ({ "{") (labeled_statement "LAB_00022450:\n      puVar18 = puVar3;" (statement_identifier "LAB_00022450") (: ":") (expression_statement "puVar18 = puVar3;" (assignment_expression "puVar18 = puVar3" (identifier "puVar18") (= "=") (identifier "puVar3")) (; ";"))) (if_statement "if ((puVar2 == puVar14) || (puVar8 == puVar14)) {\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }\n      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" (if "if") (parenthesized_expression "((puVar2 == puVar14) || (puVar8 == puVar14))" (( "(") (binary_expression "(puVar2 == puVar14) || (puVar8 == puVar14)" (parenthesized_expression "(puVar2 == puVar14)" (( "(") (binary_expression "puVar2 == puVar14" (identifier "puVar2") (== "==") (identifier "puVar14")) () ")")) (|| "||") (parenthesized_expression "(puVar8 == puVar14)" (( "(") (binary_expression "puVar8 == puVar14" (identifier "puVar8") (== "==") (identifier "puVar14")) () ")"))) () ")")) (compound_statement "{\nLAB_000228f0:\n        local_80 = puVar18 + 0xc0;\n      }" ({ "{") (labeled_statement "LAB_000228f0:\n        local_80 = puVar18 + 0xc0;" (statement_identifier "LAB_000228f0") (: ":") (expression_statement "local_80 = puVar18 + 0xc0;" (assignment_expression "local_80 = puVar18 + 0xc0" (identifier "local_80") (= "=") (binary_expression "puVar18 + 0xc0" (identifier "puVar18") (+ "+") (number_literal "0xc0"))) (; ";"))) (} "}")) (else_clause "else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" (else "else") (if_statement "if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))) {\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" (if "if") (parenthesized_expression "((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               ))))" (( "(") (binary_expression "(((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)) &&\n              (((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))" (parenthesized_expression "(((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2))" (( "(") (binary_expression "((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&\n               (local_80 = puVar2, DAT_000897ec != puVar2)" (parenthesized_expression "((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8))" (( "(") (binary_expression "(DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)" (parenthesized_expression "(DAT_00089720 != puVar2)" (( "(") (binary_expression "DAT_00089720 != puVar2" (identifier "DAT_00089720") (!= "!=") (identifier "puVar2")) () ")")) (&& "&&") (parenthesized_expression "(local_80 = puVar8, DAT_00089720 != puVar8)" (( "(") (comma_expression "local_80 = puVar8, DAT_00089720 != puVar8" (assignment_expression "local_80 = puVar8" (identifier "local_80") (= "=") (identifier "puVar8")) (, ",") (binary_expression "DAT_00089720 != puVar8" (identifier "DAT_00089720") (!= "!=") (identifier "puVar8"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_80 = puVar2, DAT_000897ec != puVar2)" (( "(") (comma_expression "local_80 = puVar2, DAT_000897ec != puVar2" (assignment_expression "local_80 = puVar2" (identifier "local_80") (= "=") (identifier "puVar2")) (, ",") (binary_expression "DAT_000897ec != puVar2" (identifier "DAT_000897ec") (!= "!=") (identifier "puVar2"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )))" (( "(") (parenthesized_expression "((local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               ))" (( "(") (binary_expression "(local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&\n               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )" (parenthesized_expression "(local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180))" (( "(") (comma_expression "local_80 = puVar8, DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)" (assignment_expression "local_80 = puVar8" (identifier "local_80") (= "=") (identifier "puVar8")) (, ",") (binary_expression "DAT_000897ec != puVar8 &&\n                (local_80 = puVar2, puVar8 != puVar3 + 0x180)" (binary_expression "DAT_000897ec != puVar8" (identifier "DAT_000897ec") (!= "!=") (identifier "puVar8")) (&& "&&") (parenthesized_expression "(local_80 = puVar2, puVar8 != puVar3 + 0x180)" (( "(") (comma_expression "local_80 = puVar2, puVar8 != puVar3 + 0x180" (assignment_expression "local_80 = puVar2" (identifier "local_80") (= "=") (identifier "puVar2")) (, ",") (binary_expression "puVar8 != puVar3 + 0x180" (identifier "puVar8") (!= "!=") (binary_expression "puVar3 + 0x180" (identifier "puVar3") (+ "+") (number_literal "0x180")))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))\n               )" (( "(") (parenthesized_expression "(local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))" (( "(") (comma_expression "local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14)" (assignment_expression "local_80 = puVar8" (identifier "local_80") (= "=") (identifier "puVar8")) (, ",") (binary_expression "puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14)" (binary_expression "puVar2 != puVar3 + 0x180" (identifier "puVar2") (!= "!=") (binary_expression "puVar3 + 0x180" (identifier "puVar3") (+ "+") (number_literal "0x180"))) (&& "&&") (parenthesized_expression "(local_80 = puVar2, iVar11 != 0x14)" (( "(") (comma_expression "local_80 = puVar2, iVar11 != 0x14" (assignment_expression "local_80 = puVar2" (identifier "local_80") (= "=") (identifier "puVar2")) (, ",") (binary_expression "iVar11 != 0x14" (identifier "iVar11") (!= "!=") (number_literal "0x14"))) () ")")))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);\n        FUN_0002bd60(uVar7);\n      }" ({ "{") (expression_statement "uVar7 = dcgettext(0,"operation combines symbols in different segments",5);" (assignment_expression "uVar7 = dcgettext(0,"operation combines symbols in different segments",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"operation combines symbols in different segments",5)" (identifier "dcgettext") (argument_list "(0,"operation combines symbols in different segments",5)" (( "(") (number_literal "0") (, ",") (string_literal ""operation combines symbols in different segments"" (" """) (string_content "operation combines symbols in different segments") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bd60(uVar7);" (call_expression "FUN_0002bd60(uVar7)" (identifier "FUN_0002bd60") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (} "}"))))) (} "}")))) (labeled_statement "LAB_000224e0:\n    if (local_88 == 0) break;" (statement_identifier "LAB_000224e0") (: ":") (if_statement "if (local_88 == 0) break;" (if "if") (parenthesized_expression "(local_88 == 0)" (( "(") (binary_expression "local_88 == 0" (identifier "local_88") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";")))) (expression_statement "puVar2 = local_80;" (assignment_expression "puVar2 = local_80" (identifier "puVar2") (= "=") (identifier "local_80")) (; ";")) (expression_statement "iVar11 = local_88;" (assignment_expression "iVar11 = local_88" (identifier "iVar11") (= "=") (identifier "local_88")) (; ";")) (expression_statement "cVar12 = (&DAT_00080220)[local_88];" (assignment_expression "cVar12 = (&DAT_00080220)[local_88]" (identifier "cVar12") (= "=") (subscript_expression "(&DAT_00080220)[local_88]" (parenthesized_expression "(&DAT_00080220)" (( "(") (pointer_expression "&DAT_00080220" (& "&") (identifier "DAT_00080220")) () ")")) ([ "[") (identifier "local_88") (] "]"))) (; ";")) (} "}"))) (labeled_statement "LAB_00022622:\n  if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }" (statement_identifier "LAB_00022622") (: ":") (if_statement "if (*param_2 != 0) {\n    FUN_0003b860(*param_2);\n  }" (if "if") (parenthesized_expression "(*param_2 != 0)" (( "(") (binary_expression "*param_2 != 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0003b860(*param_2);\n  }" ({ "{") (expression_statement "FUN_0003b860(*param_2);" (call_expression "FUN_0003b860(*param_2)" (identifier "FUN_0003b860") (argument_list "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")"))) (; ";")) (} "}")))) (if_statement "if (((char)param_1 == '\0') && (param_3 == 0)) {\n    FUN_00021620(param_2);\n  }" (if "if") (parenthesized_expression "(((char)param_1 == '\0') && (param_3 == 0))" (( "(") (binary_expression "((char)param_1 == '\0') && (param_3 == 0)" (parenthesized_expression "((char)param_1 == '\0')" (( "(") (binary_expression "(char)param_1 == '\0'" (cast_expression "(char)param_1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "param_1")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    FUN_00021620(param_2);\n  }" ({ "{") (expression_statement "FUN_00021620(param_2);" (call_expression "FUN_00021620(param_2)" (identifier "FUN_00021620") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (if_statement "if ((char)param_2[4] == '\x02') {\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }" (if "if") (parenthesized_expression "((char)param_2[4] == '\x02')" (( "(") (binary_expression "(char)param_2[4] == '\x02'" (cast_expression "(char)param_2[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;\n  }" ({ "{") (expression_statement "local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;" (assignment_expression "local_80 = PTR__bfd_std_section_0007ffb0 + 0x180" (identifier "local_80") (= "=") (binary_expression "PTR__bfd_std_section_0007ffb0 + 0x180" (identifier "PTR__bfd_std_section_0007ffb0") (+ "+") (number_literal "0x180"))) (; ";")) (} "}"))) (return_statement "return local_80;" (return "return") (identifier "local_80") (; ";")) (} "}")))

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

type_1 function_1(int var_1,type_2 *resultP,type_3 var_63)

{
  int *piVar1;
  type_4 *puVar2;
  type_5 var_20;
  int var_59;
  type_6 lVar5;
  type_1 var_35;
  type_7 *var_61;
  char var_26;
  type_8 var_31;
  type_9 *var_38;
  char *var_45;
  type_1 var_34;
  char *format;
  int var_40;
  type_10 *frag2;
  type_10 *frag1;
  type_11 var_43;
  type_12 var_24;
  type_8 var_23;
  type_1 var_60;
  type_4 var_33;
  type_4 var_6;
  type_7 *var_49;
  type_4 var_30;
  bool var_12;
  type_13 oVar23;
  type_14 var_46;
  type_14 var_47;
  type_12 var_9;
  type_12 var_27;
  type_1 local_80;
  int var_21;
  type_4 var_54;
  type_4 var_55;
  char ec;
  type_13 frag_off;
  type_2 right;
  
  if (var_1 < 0) {
                    /* WARNING: Subroutine does not return */
    var_2("../../gas/expr.c",0x6dc,"expr");
  }
  if ((char)var_1 == '\0') {
    dot_value = var_3();
    dot_frag = frag_now;
  }
  local_80 = var_4(resultP,var_63);
  if (*var_5 == 0x20) {
                    /* WARNING: Subroutine does not return */
    var_2("../../gas/expr.c",0x6e8,"expr");
  }
  var_6 = (type_4)(type_8)*var_5;
  if (is_end_of_line[var_6] != '\0') goto LAB_00022622;
  if ((lex_type[var_6] & 2) == 0) {
LAB_00022269:
    var_45 = var_5;
    if (var_6 == 0x2d) {
LAB_000227c0:
      var_9 = op_encoding[var_6];
      var_21 = 1;
      goto LAB_00022706;
    }
    if (var_6 < 0x2e) {
      if (var_6 == 0x26) {
        var_21 = (var_5[1] == '&') + 1;
        var_9 = (type_4)(var_5[1] == '&') * 9 + var_7;
      }
      else {
        if (var_6 == 0x2b) goto LAB_000227c0;
        if (var_6 != 0x21) goto LAB_000225c3;
        if (var_5[1] != '!') {
          var_24 = O_ne;
          var_9 = O_bit_or_not;
          var_12 = var_5[1] == '=';
          goto LAB_000222ad;
        }
        var_21 = 2;
        var_9 = O_bit_exclusive_or;
      }
    }
    else if (var_6 == 0x3d) {
      if (var_5[1] != '=') goto LAB_00022622;
      var_21 = 2;
      var_9 = O_eq;
    }
    else if (var_6 < 0x3e) {
      if (var_6 == 0x3c) {
        if ((type_8)(var_5[1] - 0x3cU) < 3) {
          var_21 = 2;
          var_9 = *(type_12 *)(var_8 + (type_4)(type_8)(var_5[1] - 0x3cU) * 4);
          goto LAB_00022706;
        }
        var_21 = 1;
        var_9 = O_lt;
      }
      else {
LAB_000225c3:
        var_9 = op_encoding[var_6];
        if (var_9 == var_10) {
          var_9 = var_11((char *)0x0,2,(char *)0x0);
          var_21 = 1;
          if (var_9 != var_10) {
            var_21 = (int)var_5 - (int)var_45;
          }
          goto LAB_00022706;
        }
        var_21 = 1;
      }
    }
    else {
      if (var_6 == 0x3e) {
        if (var_5[1] == '=') {
          var_21 = 2;
          var_9 = O_ge;
          goto LAB_000222c3;
        }
        var_24 = O_right_shift;
        var_9 = O_gt;
        var_12 = var_5[1] == '>';
      }
      else {
        if (var_6 != 0x7c) goto LAB_000225c3;
        var_24 = O_logical_or;
        var_9 = O_bit_inclusive_or;
        var_12 = var_5[1] == '|';
      }
LAB_000222ad:
      if (var_12) {
        var_9 = var_24;
      }
      var_21 = var_12 + 1;
    }
  }
  else {
    var_26 = var_13((char **)&right);
    frag_off._0_4_ = (char *)var_14(frag_off._1_3_,var_26);
    var_9 = var_11((char *)right.X_add_symbol,2,(char *)&frag_off);
    var_38 = right.X_add_symbol;
    if (var_9 == var_15) {
      *var_5 = (char)frag_off;
      var_5 = (char *)right.X_add_symbol;
      goto LAB_00022269;
    }
    if ((var_9 != var_10) && (var_9 - var_16 < 3)) {
      var_45 = (char *)var_17(0,"invalid use of operator \"%s\"",5);
      var_18(var_45,var_38);
      var_9 = var_10;
    }
    *var_5 = (char)frag_off;
    var_45 = var_5;
    var_5 = (char *)right.X_add_symbol;
    var_21 = (int)var_45 - (int)right.X_add_symbol;
    var_45 = var_5;
LAB_00022706:
    var_5 = var_45;
    if (var_9 == var_10) goto LAB_00022622;
  }
LAB_000222c3:
  var_61 = var_19;
  var_60 = (type_1)(var_19 + 0xc0);
  var_20 = op_rank[var_9];
  var_35 = local_80;
  var_24 = var_9;
  while (local_80 = var_35, (char)var_1 < var_20) {
    right.X_md = 0;
    var_5 = var_5 + var_21;
    var_34 = function_1((int)var_20,&right,var_63);
    if (right._16_1_ == '\x01') {
      var_45 = (char *)var_17(0,"missing operand; zero assumed",5);
      var_22(var_45);
      right._16_1_ = 2;
      right.X_add_number._0_4_ = 0;
      right.X_add_number._4_4_ = 0;
      right.X_add_symbol = (type_9 *)0x0;
      right.X_op_symbol = (type_9 *)0x0;
    }
    var_23 = *var_5;
    var_6 = (type_4)var_23;
    if (var_23 == 0x20) {
                    /* WARNING: Subroutine does not return */
      var_2("../../gas/expr.c",0x6fd,"expr");
    }
    var_45 = var_5;
    if (var_24 == var_25) {
      if (var_23 == 0x5d) {
        var_6 = (type_4)(type_8)var_5[1];
        var_45 = var_5 + 1;
        if (var_5[1] == 0x20) {
          var_6 = (type_4)(type_8)var_5[2];
          var_45 = var_5 + 2;
        }
        goto LAB_00022300;
      }
      var_18("missing right bracket");
      var_6 = (type_4)(type_8)*var_5;
      if (is_end_of_line[var_6] == '\0') goto LAB_00022311;
LAB_00022590:
      var_21 = 1;
      var_27 = var_10;
    }
    else {
LAB_00022300:
      var_5 = var_45;
      if (is_end_of_line[var_6] != '\0') goto LAB_00022590;
LAB_00022311:
      if ((lex_type[var_6] & 2) == 0) {
        if (var_6 == 0x2d) goto LAB_00023070;
LAB_00022328:
        var_45 = var_5;
        if (var_6 < 0x2e) {
          if (var_6 == 0x26) {
            var_12 = var_24 != var_25;
            var_21 = (var_5[1] == '&') + 1;
            var_27 = (type_4)(var_5[1] == '&') * 9 + var_7;
            var_5 = var_45;
          }
          else {
            if (var_6 == 0x2b) goto LAB_00023070;
            if (var_6 != 0x21) goto LAB_00022883;
            var_12 = var_24 != var_25;
            var_26 = var_5[1];
            if (var_26 == '!') {
              var_21 = 2;
              var_27 = O_bit_exclusive_or;
              var_5 = var_45;
            }
            else {
              var_21 = (var_26 == '=') + 1;
              var_27 = O_bit_or_not;
              var_5 = var_45;
              if (var_26 == '=') {
                var_27 = O_ne;
              }
            }
          }
        }
        else if (var_6 == 0x3d) {
          if (var_5[1] != '=') goto LAB_00022590;
          var_12 = var_24 != var_25;
          var_21 = 2;
          var_27 = O_eq;
          var_5 = var_45;
        }
        else if (var_6 < 0x3e) {
          if (var_6 == 0x3c) {
            var_12 = var_24 != var_25;
            if ((type_8)(var_5[1] - 0x3cU) < 3) {
              var_21 = 2;
              var_27 = *(type_12 *)
                          (var_8 + (type_4)(type_8)(var_5[1] - 0x3cU) * 4);
              var_12 = var_12 && var_27 != var_10;
              var_5 = var_45;
            }
            else {
              var_21 = 1;
              var_27 = O_lt;
              var_5 = var_45;
            }
          }
          else {
LAB_00022883:
            var_27 = op_encoding[var_6];
            var_12 = var_24 != var_25;
            var_21 = 1;
            var_5 = var_45;
            if (var_27 == var_10) {
              var_27 = var_11((char *)0x0,2,(char *)0x0);
              if (var_27 != var_10) {
                var_21 = (int)var_5 - (int)var_45;
              }
              var_12 = var_12 && var_27 != var_10;
              var_5 = var_45;
            }
          }
        }
        else if (var_6 == 0x3e) {
          var_12 = var_24 != var_25;
          var_26 = var_5[1];
          if (var_26 == '=') {
            var_21 = 2;
            var_27 = O_ge;
            var_5 = var_45;
          }
          else {
            var_21 = (var_26 == '>') + 1;
            var_27 = O_gt;
            var_5 = var_45;
            if (var_26 == '>') {
              var_27 = O_right_shift;
            }
          }
        }
        else {
          if (var_6 != 0x7c) goto LAB_00022883;
          var_12 = var_24 != var_25;
          var_21 = (var_5[1] == '|') + 1;
          var_27 = O_bit_inclusive_or;
          var_5 = var_45;
          if (var_5[1] == '|') {
            var_27 = O_logical_or;
          }
        }
      }
      else {
        ec = var_13((char **)&frag_off);
        var_27 = var_11((char *)frag_off,2,&ec);
        var_45 = (char *)frag_off;
        if (var_27 != var_15) {
          if ((var_27 == var_10) || (2 < var_27 - var_16)) {
            var_12 = var_24 != var_25 && var_27 != var_10;
          }
          else {
            format = (char *)var_17(0,"invalid use of operator \"%s\"",5);
            var_18(format,var_45);
            var_12 = false;
            var_27 = var_10;
          }
          *var_5 = ec;
          var_45 = var_5;
          var_5 = (char *)frag_off;
          var_21 = (int)var_45 - (int)(char *)frag_off;
          goto LAB_00022388;
        }
        *var_5 = ec;
        var_5 = (char *)frag_off;
        if (var_6 != 0x2d) goto LAB_00022328;
LAB_00023070:
        var_27 = op_encoding[var_6];
        var_21 = 1;
        var_12 = var_27 != var_10 && var_24 != var_25;
      }
LAB_00022388:
      if ((var_12) && (op_rank[var_24] < op_rank[var_27])) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gas/expr.c",0x70d,"expr");
      }
    }
    if ((int)var_24 < 10) {
                    /* WARNING: Subroutine does not return */
      var_2("../../gas/expr.c",0x70e,"expr");
    }
    if (0x3d < (int)var_24) {
                    /* WARNING: Subroutine does not return */
      var_2("../../gas/expr.c",0x712,"expr");
    }
    if (resultP->field_0x10 == '\x06') {
      if (-*(int *)((int)&resultP->X_add_number + 4) < (int)(type_4)((int)resultP->X_add_number != 0))
      {
        var_45 = "left operand is a bignum; integer 0 assumed";
      }
      else {
        var_45 = "left operand is a float; integer 0 assumed";
      }
      var_45 = (char *)var_17(0,var_45,5);
      var_22(var_45);
      resultP->field_0x10 = 2;
      *(type_15 *)&resultP->X_add_number = 0;
      *(type_15 *)((int)&resultP->X_add_number + 4) = 0;
      resultP->X_add_symbol = (type_9 *)0x0;
      resultP->X_op_symbol = (type_9 *)0x0;
    }
    var_9._0_1_ = (type_16)var_24;
    if (right._16_1_ == '\x06') {
      if ((int)-right.X_add_number._4_4_ < (int)(type_4)((type_4)right.X_add_number != 0)) {
        var_45 = "right operand is a bignum; integer 0 assumed";
      }
      else {
        var_45 = "right operand is a float; integer 0 assumed";
      }
      var_45 = (char *)var_17(0,var_45,5);
      var_22(var_45);
      right._16_1_ = 2;
      right.X_add_number._0_4_ = 0;
      right.X_add_number._4_4_ = 0;
      right.X_add_symbol = (type_9 *)0x0;
      right.X_op_symbol = (type_9 *)0x0;
      if (var_24 != var_28) {
        var_26 = resultP->field_0x10;
        if (var_24 != var_29) goto LAB_000223e8;
        if (var_26 == '\x05') goto LAB_00022cb4;
LAB_00022980:
        var_6 = (type_4)resultP->X_add_number;
        var_30 = *(type_4 *)((int)&resultP->X_add_number + 4);
        *(type_4 *)((int)&resultP->X_add_number + 4) =
             (var_30 - right.X_add_number._4_4_) - (type_4)(var_6 < (type_4)right.X_add_number);
        var_31 = resultP->field_0x11;
        *(type_4 *)&resultP->X_add_number = var_6 - (type_4)right.X_add_number;
        var_23 = (var_31 ^ right._17_1_) >> 1 & 1;
        if (var_30 < right.X_add_number._4_4_ ||
            var_30 - right.X_add_number._4_4_ < (type_4)(var_6 < (type_4)right.X_add_number))
        goto LAB_0002301d;
LAB_000229b7:
        resultP->field_0x11 = var_23 * '\x02' | var_31 & 0xfd;
        goto LAB_00022442;
      }
      if (resultP->field_0x10 != '\x05') {
        var_23 = (type_8)(resultP->field_0x11 ^ right._17_1_) >> 1 & 1;
LAB_00023225:
        resultP->field_0x11 = resultP->field_0x11 & 0xfd | var_23 * '\x02';
        goto LAB_00022442;
      }
LAB_00022c1a:
      var_9._0_1_ = 0x13;
      goto LAB_00022406;
    }
    if (var_24 == var_28) {
      if (right._16_1_ == '\x02') {
        if (resultP->field_0x10 == '\x05') goto LAB_00022c1a;
        var_6 = (type_4)resultP->X_add_number;
        var_30 = *(type_4 *)((int)&resultP->X_add_number + 4);
        var_31 = resultP->field_0x11;
        var_33 = var_30 + right.X_add_number._4_4_ + (type_4)var_32(var_6,(type_4)right.X_add_number);
        *(type_4 *)((int)&resultP->X_add_number + 4) = var_33;
        *(type_4 *)&resultP->X_add_number = var_6 + (type_4)right.X_add_number;
        var_23 = (var_31 ^ right._17_1_) >> 1 & 1;
        if (var_30 <= var_33 &&
            (type_4)(var_6 + (type_4)right.X_add_number < var_6) <= var_33 - var_30)
        goto LAB_00023225;
LAB_0002301d:
        resultP->field_0x11 = (var_23 ^ 1) * '\x02' | var_31 & 0xfd;
        goto LAB_00022442;
      }
      var_26 = resultP->field_0x10;
      if (var_26 != '\x02') goto LAB_000223f1;
      if (right._16_1_ == '\x05') goto _L446;
      var_6 = *(type_4 *)((int)&resultP->X_add_number + 4);
      var_23 = resultP->field_0x11;
      resultP->field_0x10 = right._16_1_;
      resultP->X_add_symbol = right.X_add_symbol;
      resultP->X_op_symbol = right.X_op_symbol;
      var_30 = (type_4)resultP->X_add_number;
      var_33 = var_6 + right.X_add_number._4_4_ + (type_4)var_32(var_30,(type_4)right.X_add_number);
      *(type_4 *)&resultP->X_add_number = var_30 + (type_4)right.X_add_number;
      *(type_4 *)((int)&resultP->X_add_number + 4) = var_33;
      var_31 = (var_23 ^ right._17_1_) >> 1 & 1;
      if (var_33 < var_6 || var_33 - var_6 < (type_4)(var_30 + (type_4)right.X_add_number < var_30)) {
        var_31 = var_31 ^ 1;
      }
      resultP->field_0x11 = var_31 * '\x02' | var_23 & 0xfd;
      local_80 = var_34;
      goto LAB_000224e0;
    }
    var_26 = resultP->field_0x10;
    if (var_24 == var_29) {
      if (right._16_1_ == '\x03') {
        if ((var_26 != '\x03') || (var_34 != var_35)) goto LAB_000223e8;
        var_38 = resultP->X_add_symbol;
        if ((var_34 == (type_1)(var_19 + 0xc0)) ||
           (((var_34 == (type_1)(var_19 + 0x180) || (var_36 == var_34))
            || (var_37 == var_34)))) {
LAB_00022c90:
          if (right.X_add_symbol == var_38) goto LAB_000234b2;
        }
        else {
          var_40 = var_39(var_38,0);
          if ((var_40 != 0) ||
             (var_40 = var_39(right.X_add_symbol,0), var_38 = right.X_add_symbol,
             var_40 != 0)) {
            var_38 = resultP->X_add_symbol;
            goto LAB_00022c90;
          }
LAB_000234b2:
          frag2 = var_41(var_38);
          frag1 = var_41(resultP->X_add_symbol);
          var_43 = var_42(frag1,frag2,&frag_off);
          if (var_43 != 0) {
            var_46 = var_44(resultP->X_add_symbol);
            var_47 = var_44(right.X_add_symbol);
            var_6 = *(type_4 *)((int)&resultP->X_add_number + 4);
            var_30 = (type_4)resultP->X_add_number;
            var_45 = (char *)(var_30 - (type_4)right.X_add_number);
            var_33 = (var_6 - right.X_add_number._4_4_) - (type_4)(var_30 < (type_4)right.X_add_number)
            ;
            *(type_4 *)((int)&resultP->X_add_number + 4) = var_33;
            var_23 = resultP->field_0x11;
            *(char **)&resultP->X_add_number = var_45;
            var_31 = (var_23 ^ right._17_1_) >> 1 & 1;
            if (var_6 < right.X_add_number._4_4_ ||
                var_6 - right.X_add_number._4_4_ < (type_4)(var_30 < (type_4)right.X_add_number)) {
              var_31 = var_31 ^ 1;
              resultP->field_0x11 = var_23 & 0xfd | var_31 * '\x02';
            }
            else {
              resultP->field_0x11 = var_23 & 0xfd | var_31 * '\x02';
            }
            var_6 = (int)var_45 - (int)(char *)frag_off;
            var_30 = (var_33 - frag_off._4_4_) - (type_4)(var_45 < (char *)frag_off);
            *(type_4 *)&resultP->X_add_number = var_6;
            *(type_4 *)((int)&resultP->X_add_number + 4) = var_30;
            if (var_33 < frag_off._4_4_ ||
                var_33 - frag_off._4_4_ < (type_4)(var_45 < (char *)frag_off)) {
              var_31 = var_31 ^ 1;
              var_23 = resultP->field_0x11 & 0xfd | var_31 * '\x02';
              resultP->field_0x11 = var_23;
            }
            else {
              var_23 = resultP->field_0x11;
            }
            lVar5 = (var_46 - var_47) + var_48(var_30,var_6);
            var_33 = (type_4)((type_17)lVar5 >> 0x20);
            resultP->X_add_number = lVar5;
            var_31 = var_31 ^ (type_8)(var_46 - var_47 >> 0x3f);
            if (var_33 < var_30 || var_33 - var_30 < (type_4)((type_4)lVar5 < var_6)) {
              var_31 = var_31 ^ 1;
            }
            resultP->field_0x10 = 2;
            resultP->X_add_symbol = (type_9 *)0x0;
            resultP->field_0x11 = var_23 & 0xfd | var_31 * '\x02';
            goto LAB_000224e0;
          }
        }
        var_26 = resultP->field_0x10;
      }
      if (right._16_1_ == '\x02') {
        if (var_26 != '\x05') goto LAB_00022980;
LAB_00022cb4:
        var_9._0_1_ = 0x14;
        goto LAB_00022406;
      }
    }
LAB_000223e8:
    var_30 = right.X_add_number._4_4_;
    var_6 = (type_4)right.X_add_number;
    if (var_26 != '\x02') {
LAB_000223f1:
      if ((var_26 != '\x03') || (right._16_1_ != '\x03')) goto LAB_00022406;
      if (1 < var_24 - var_28) {
        if ((*(int *)((int)&resultP->X_add_number + 4) != 0 || right.X_add_number._4_4_ != 0) ||
            ((int)resultP->X_add_number != 0 || (type_4)right.X_add_number != 0)) goto LAB_00022406;
        resultP->field_0x10 = (type_16)var_9;
        resultP->X_op_symbol = right.X_add_symbol;
        goto LAB_00022442;
      }
      resultP->field_0x10 = (type_16)var_9;
      resultP->X_op_symbol = right.X_add_symbol;
      if (var_24 == var_28) {
        var_6 = (type_4)resultP->X_add_number;
        var_30 = *(type_4 *)((int)&resultP->X_add_number + 4);
        var_31 = resultP->field_0x11;
        var_33 = var_30 + right.X_add_number._4_4_ + (type_4)var_32(var_6,(type_4)right.X_add_number);
        *(type_4 *)((int)&resultP->X_add_number + 4) = var_33;
        *(type_4 *)&resultP->X_add_number = var_6 + (type_4)right.X_add_number;
        var_23 = (var_31 ^ right._17_1_) >> 1 & 1;
        if (var_30 <= var_33 &&
            (type_4)(var_6 + (type_4)right.X_add_number < var_6) <= var_33 - var_30)
        goto LAB_000229b7;
        resultP->field_0x11 = (var_23 ^ 1) * '\x02' | var_31 & 0xfd;
        goto LAB_00022442;
      }
      var_6 = (type_4)resultP->X_add_number;
      var_30 = *(type_4 *)((int)&resultP->X_add_number + 4);
      *(type_4 *)&resultP->X_add_number = var_6 - (type_4)right.X_add_number;
      *(type_4 *)((int)&resultP->X_add_number + 4) =
           (var_30 - right.X_add_number._4_4_) - (type_4)(var_6 < (type_4)right.X_add_number);
      var_23 = resultP->field_0x11;
      var_31 = (right._17_1_ ^ var_23) >> 1 & 1;
      if (var_30 < right.X_add_number._4_4_ ||
          var_30 - right.X_add_number._4_4_ < (type_4)(var_6 < (type_4)right.X_add_number)) {
        resultP->field_0x11 = var_23 & 0xfd | (var_31 ^ 1) * '\x02';
      }
      else {
        resultP->field_0x11 = var_31 * '\x02' | var_23 & 0xfd;
      }
      var_49 = var_19;
      if (var_34 != var_35) goto LAB_00022450;
      if (var_35 == (type_1)(var_19 + 0x180)) {
LAB_00023318:
        local_80 = (type_1)(var_49 + 0x180);
        goto LAB_000224e0;
      }
      if (var_35 != (type_1)(var_19 + 0xc0)) {
        if ((((var_36 == var_35) || (var_37 == var_35)) ||
            (var_40 = var_39(resultP->X_add_symbol,0), var_40 != 0)) ||
           (var_40 = var_39(right.X_add_symbol,0), var_40 != 0)) goto LAB_000224e0;
        goto LAB_00023318;
      }
      goto LAB_000228f0;
    }
    if (right._16_1_ != '\x02') {
_L446:
LAB_00022406:
      var_38 = var_50(resultP);
      resultP->X_add_symbol = var_38;
      var_38 = var_50(&right);
      *(type_15 *)&resultP->X_add_number = 0;
      resultP->X_op_symbol = var_38;
      resultP->field_0x10 = (type_16)var_9;
      var_23 = resultP->field_0x11;
      *(type_15 *)((int)&resultP->X_add_number + 4) = 0;
      resultP->field_0x11 = var_23 & 0xfc | 1;
      goto LAB_00022442;
    }
    var_54 = (type_4)right.X_add_number;
    var_55 = right.X_add_number._4_4_;
    if (right.X_add_number._4_4_ == 0 && (type_4)right.X_add_number == 0) {
      if (var_24 - var_51 < 2) {
        var_45 = (char *)var_17(0,"division by zero",5);
        var_22(var_45);
        var_54 = 1;
        var_55 = 0;
      }
    }
    else if ((right.X_add_number._4_4_ != 0 ||
              -right.X_add_number._4_4_ < (type_4)(0x3f < (type_4)right.X_add_number)) &&
            (var_24 - var_52 < 2)) {
      var_45 = (char *)var_17(0,"shift count",5);
      var_53(var_45,var_48(var_30,var_6),0,0x3f,(char *)0x0,0);
      *(type_15 *)&resultP->X_add_number = 0;
      *(type_15 *)((int)&resultP->X_add_number + 4) = 0;
      var_54 = 0;
      var_55 = 0;
    }
    switch(var_24) {
    case O_multiply:
      var_40 = *(int *)((int)&resultP->X_add_number + 4);
      oVar23 = resultP->X_add_number;
      lVar5 = (type_17)var_54 * (type_17)(type_4)resultP->X_add_number;
      *(int *)&resultP->X_add_number = (int)lVar5;
      *(type_4 *)((int)&resultP->X_add_number + 4) =
           (int)((type_17)lVar5 >> 0x20) + var_40 * var_54 + (int)oVar23 * var_55;
      break;
    case var_51:
      oVar23 = var_56((int)resultP->X_add_number,*(type_15 *)((int)&resultP->X_add_number + 4),
                        var_54,var_55);
      resultP->X_add_number = oVar23;
      break;
    case O_modulus:
      oVar23 = var_57((int)resultP->X_add_number,*(type_15 *)((int)&resultP->X_add_number + 4),
                        var_54,var_55);
      resultP->X_add_number = oVar23;
      break;
    case var_52:
      var_6 = (type_4)resultP->X_add_number;
      var_33 = var_6 << ((type_8)var_54 & 0x1f);
      var_30 = var_33;
      var_6 = *(int *)((int)&resultP->X_add_number + 4) << ((type_8)var_54 & 0x1f) |
               var_6 >> 0x20 - ((type_8)var_54 & 0x1f);
      if ((var_54 & 0x20) != 0) {
        var_30 = 0;
        var_6 = var_33;
      }
      *(type_4 *)((int)&resultP->X_add_number + 4) = var_6;
      *(type_4 *)&resultP->X_add_number = var_30;
      break;
    case O_right_shift:
      var_6 = *(type_4 *)((int)&resultP->X_add_number + 4);
      var_33 = var_6 >> ((type_8)var_54 & 0x1f);
      var_30 = var_33;
      var_6 = (type_4)resultP->X_add_number >> ((type_8)var_54 & 0x1f) |
               var_6 << 0x20 - ((type_8)var_54 & 0x1f);
      if ((var_54 & 0x20) != 0) {
        var_30 = 0;
        var_6 = var_33;
      }
      *(type_4 *)&resultP->X_add_number = var_6;
      *(type_4 *)((int)&resultP->X_add_number + 4) = var_30;
      break;
    case O_bit_inclusive_or:
      *(type_4 *)&resultP->X_add_number = (type_4)resultP->X_add_number | var_54;
      puVar2 = (type_4 *)((int)&resultP->X_add_number + 4);
      *puVar2 = *puVar2 | var_55;
      break;
    case O_bit_or_not:
      *(type_4 *)&resultP->X_add_number = (type_4)resultP->X_add_number | ~var_54;
      puVar2 = (type_4 *)((int)&resultP->X_add_number + 4);
      *puVar2 = *puVar2 | ~var_55;
      break;
    case O_bit_exclusive_or:
      *(type_4 *)&resultP->X_add_number = (type_4)resultP->X_add_number ^ var_54;
      puVar2 = (type_4 *)((int)&resultP->X_add_number + 4);
      *puVar2 = *puVar2 ^ var_55;
      break;
    case var_7:
      *(type_4 *)&resultP->X_add_number = (type_4)resultP->X_add_number & var_54;
      puVar2 = (type_4 *)((int)&resultP->X_add_number + 4);
      *puVar2 = *puVar2 & var_55;
      break;
    default:
      goto _L446;
    case var_29:
      var_6 = (type_4)resultP->X_add_number;
      var_30 = *(type_4 *)((int)&resultP->X_add_number + 4);
      *(type_4 *)&resultP->X_add_number = var_6 - var_54;
      *(type_4 *)((int)&resultP->X_add_number + 4) = (var_30 - var_55) - (type_4)(var_6 < var_54);
      if (var_30 < var_55 || var_30 - var_55 < (type_4)(var_6 < var_54)) {
        resultP->field_0x11 =
             ((type_8)resultP->field_0x11 >> 1 & 1 ^ 1) * '\x02' | resultP->field_0x11 & 0xfd;
      }
      break;
    case O_eq:
      var_6 = (type_4)((type_4)resultP->X_add_number == var_54 &&
                     *(type_4 *)((int)&resultP->X_add_number + 4) == var_55);
      goto LAB_00022ed0;
    case O_ne:
      var_6 = (type_4)((type_4)resultP->X_add_number != var_54 ||
                     *(type_4 *)((int)&resultP->X_add_number + 4) != var_55);
      goto LAB_00022ed0;
    case O_lt:
      var_40 = *(int *)((int)&resultP->X_add_number + 4);
      var_6 = (type_4)((type_4)resultP->X_add_number < var_54);
      var_59 = var_40 - var_55;
      if ((var_58(var_40,var_55) != var_58(var_59,var_6)) != (int)(var_59 - var_6) < 0)
      goto LAB_00022d74;
LAB_00022d9e:
      var_6 = 0;
      goto LAB_00022ed0;
    case O_le:
      piVar1 = (int *)((int)&resultP->X_add_number + 4);
      var_6 = (type_4)(var_54 < (type_4)resultP->X_add_number);
      var_40 = var_55 - *piVar1;
      if ((var_58(var_55,*piVar1) != var_58(var_40,var_6)) != (int)(var_40 - var_6) < 0)
      goto LAB_00022d9e;
      goto LAB_00022d74;
    case O_ge:
      var_40 = *(int *)((int)&resultP->X_add_number + 4);
      var_6 = (type_4)((type_4)resultP->X_add_number < var_54);
      var_59 = var_40 - var_55;
      if ((var_58(var_40,var_55) != var_58(var_59,var_6)) != (int)(var_59 - var_6) < 0)
      goto LAB_00022d9e;
      goto LAB_00022d74;
    case O_gt:
      piVar1 = (int *)((int)&resultP->X_add_number + 4);
      var_6 = (type_4)(var_54 < (type_4)resultP->X_add_number);
      var_40 = var_55 - *piVar1;
      if ((var_58(var_55,*piVar1) != var_58(var_40,var_6)) == (int)(var_40 - var_6) < 0)
      goto LAB_00022d9e;
LAB_00022d74:
      var_6 = 1;
LAB_00022ed0:
      *(type_4 *)&resultP->X_add_number = -var_6;
      *(type_4 *)((int)&resultP->X_add_number + 4) = -(type_4)(var_6 != 0);
      break;
    case O_logical_and:
      oVar23 = resultP->X_add_number;
      var_40 = *(int *)((int)&resultP->X_add_number + 4);
      *(type_15 *)((int)&resultP->X_add_number + 4) = 0;
      *(type_4 *)&resultP->X_add_number =
           (type_4)(((int)oVar23 != 0 || var_40 != 0) && (var_54 != 0 || var_55 != 0));
      break;
    case O_logical_or:
      oVar23 = resultP->X_add_number;
      var_40 = *(int *)((int)&resultP->X_add_number + 4);
      *(type_15 *)((int)&resultP->X_add_number + 4) = 0;
      *(type_4 *)&resultP->X_add_number =
           (type_4)(((int)oVar23 != 0 || var_54 != 0) || (var_40 != 0 || var_55 != 0));
    }
LAB_00022442:
    if (var_34 != var_35) {
LAB_00022450:
      var_49 = var_61;
      if ((var_35 == var_60) || (var_34 == var_60)) {
LAB_000228f0:
        local_80 = (type_1)(var_49 + 0xc0);
      }
      else if ((((var_37 != var_35) && (local_80 = var_34, var_37 != var_34)) &&
               (local_80 = var_35, var_36 != var_35)) &&
              (((local_80 = var_34, var_36 != var_34 &&
                (local_80 = var_35, var_34 != (type_1)(var_61 + 0x180))) &&
               ((local_80 = var_34, var_35 != (type_1)(var_61 + 0x180) &&
                (local_80 = var_35, var_24 != var_29)))))) {
        var_45 = (char *)var_17(0,"operation combines symbols in different segments",5);
        var_18(var_45);
      }
    }
LAB_000224e0:
    if (var_27 == var_10) break;
    var_35 = local_80;
    var_24 = var_27;
    var_20 = op_rank[var_27];
  }
LAB_00022622:
  if (resultP->X_add_symbol != (type_9 *)0x0) {
    var_62(resultP->X_add_symbol);
  }
  if (((char)var_1 == '\0') && (var_63 == var_64)) {
    var_65(resultP);
  }
  if (resultP->field_0x10 == '\x02') {
    local_80 = (type_1)(var_19 + 0x180);
  }
  return local_80;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) 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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (identifier)) (declaration type: (primitive_type) 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: (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: (primitive_type) 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: (primitive_type) 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: (type_identifier) 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: (identifier))) (declaration type: (primitive_type) 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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 (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (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))))) (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 (string_literal (string_content)) (number_literal) (pointer_expression argument: (identifier)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (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: (goto_statement label: (statement_identifier))) (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_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: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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)) right: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (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 (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 (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal) (number_literal))))) (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (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: (identifier) right: (number_literal))) consequence: (compound_statement (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (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 (field_expression argument: (identifier) field: (field_identifier)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (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)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (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 (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (pointer_expression argument: (identifier)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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)))) (expression_statement (assignment_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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (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)) value: (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: (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)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (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 (string_literal (string_content))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_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: (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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (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: (binary_expression left: (identifier) right: (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 (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))) 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)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (number_literal))))))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) 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)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (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))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (pointer_expression argument: (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 (string_literal (string_content)) (number_literal) (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (pointer_expression argument: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (unary_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (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))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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)))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) consequence: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) 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: (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: (binary_expression left: (binary_expression left: (parenthesized_expression (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: (identifier))) right: (number_literal)) right: (number_literal)))) (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: (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: (binary_expression left: (identifier) right: (char_literal (escape_sequence))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) right: (binary_expression left: (identifier) right: (identifier))))) consequence: (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: (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: (identifier) right: (number_literal))) right: (char_literal (escape_sequence))) right: (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (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: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (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: (identifier))) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (char_literal (escape_sequence))) right: (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))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (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: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (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: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (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: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (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)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (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: (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: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence))))))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) 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: (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: (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))) (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: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier))))))) consequence: (compound_statement (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: (pointer_expression argument: (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: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) right: (binary_expression left: (identifier) right: (identifier))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (identifier) right: (number_literal))) right: (char_literal (escape_sequence))) right: (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (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: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) 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: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (char_literal (escape_sequence))))))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (char_literal (escape_sequence))) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (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 (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (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: (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (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: (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)))) (goto_statement label: (statement_identifier)))) (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: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (unary_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier))))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal) (number_literal) (number_literal) (number_literal) (number_literal) (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (number_literal)))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (binary_expression left: (identifier) right: (identifier))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (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))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (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))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))))) (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: (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))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))))) (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: (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))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (unary_expression argument: (identifier))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (break_statement)) (case_statement (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) 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: (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)) right: (number_literal))) right: (char_literal (escape_sequence))) right: (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))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))))))) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)))) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))) right: (number_literal)))) consequence: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))))))) right: (number_literal)))) consequence: (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: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)))) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (unary_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (break_statement)) (case_statement value: (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: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))))) (break_statement)) (case_statement value: (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: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (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 (number_literal) (string_literal (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (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 (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (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 (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (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: (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 * MASKED(int param_1,int *param_2,int param_3)

{
  longlong lVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined1 uVar4;
  byte bVar5;
  int iVar6;
  undefined4 uVar7;
  undefined *puVar8;
  char *pcVar9;
  undefined4 uVar10;
  int iVar11;
  char cVar12;
  byte bVar13;
  undefined *puVar14;
  uint uVar15;
  uint uVar16;
  byte *pbVar17;
  undefined *puVar18;
  uint uVar19;
  bool bVar20;
  undefined8 uVar21;
  longlong lVar22;
  longlong lVar23;
  int local_94;
  int local_88;
  undefined *local_80;
  int local_74;
  uint local_5c;
  uint local_58;
  byte local_3d;
  byte *local_3c;
  uint local_38;
  byte *local_30;
  int local_2c;
  uint local_28;
  uint local_24;
  char local_20;
  byte local_1f;
  undefined2 local_1e;
  undefined4 uStack_14;
  
  uVar21 = CONCAT44(DAT_00089adc,DAT_00089ad8);
  uStack_14 = 0x221d9;
  if (param_1 < 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0002be80("../../gas/expr.c",0x6dc,&DAT_0005e204);
  }
  if ((char)param_1 == '\0') {
    uVar21 = FUN_00024dc0();
    DAT_00089ae8 = DAT_000898a0;
  }
  DAT_00089adc = (undefined4)((ulonglong)uVar21 >> 0x20);
  DAT_00089ad8 = (undefined4)uVar21;
  local_80 = (undefined *)FUN_000236b0();
  if (*DAT_00089978 == 0x20) {
                    /* WARNING: Subroutine does not return */
    FUN_0002be80("../../gas/expr.c",0x6e8,&DAT_0005e204,param_2);
  }
  uVar16 = (uint)*DAT_00089978;
  if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022622;
  if (((&DAT_000803c0)[uVar16] & 2) == 0) {
LAB_00022269:
    pbVar17 = DAT_00089978;
    if (uVar16 == 0x2d) {
LAB_000227c0:
      local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);
      local_74 = 1;
      goto LAB_00022706;
    }
    if (uVar16 < 0x2e) {
      if (uVar16 == 0x26) {
        local_74 = (DAT_00089978[1] == 0x26) + 1;
        local_94 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;
      }
      else {
        if (uVar16 == 0x2b) goto LAB_000227c0;
        if (uVar16 != 0x21) goto LAB_000225c3;
        if (DAT_00089978[1] != 0x21) {
          iVar11 = 0x16;
          local_94 = 0x10;
          bVar20 = DAT_00089978[1] == 0x3d;
          goto LAB_000222ad;
        }
        local_74 = 2;
        local_94 = 0x11;
      }
    }
    else if (uVar16 == 0x3d) {
      if (DAT_00089978[1] != 0x3d) goto LAB_00022622;
      local_74 = 2;
      local_94 = 0x15;
    }
    else if (uVar16 < 0x3e) {
      if (uVar16 == 0x3c) {
        if ((byte)(DAT_00089978[1] - 0x3c) < 3) {
          local_74 = 2;
          local_94 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);
          goto LAB_00022706;
        }
        local_74 = 1;
        local_94 = 0x17;
      }
      else {
LAB_000225c3:
        local_94 = *(int *)(&DAT_0005e220 + uVar16 * 4);
        if (local_94 == 0) {
          local_94 = FUN_00053d00(0,2,0);
          local_74 = 1;
          if (local_94 != 0) {
            local_74 = (int)DAT_00089978 - (int)pbVar17;
          }
          goto LAB_00022706;
        }
        local_74 = 1;
      }
    }
    else {
      if (uVar16 == 0x3e) {
        if (DAT_00089978[1] == 0x3d) {
          local_74 = 2;
          local_94 = 0x19;
          goto LAB_000222c3;
        }
        iVar11 = 0xe;
        local_94 = 0x1a;
        bVar20 = DAT_00089978[1] == 0x3e;
      }
      else {
        if (uVar16 != 0x7c) goto LAB_000225c3;
        iVar11 = 0x1c;
        local_94 = 0xf;
        bVar20 = DAT_00089978[1] == 0x7c;
      }
LAB_000222ad:
      if (bVar20) {
        local_94 = iVar11;
      }
      local_74 = bVar20 + 1;
    }
  }
  else {
    uVar4 = FUN_000220a0(&local_30);
    local_3c = (byte *)CONCAT31(local_3c._1_3_,uVar4);
    local_94 = FUN_00053d00(local_30,2,&local_3c);
    pbVar17 = local_30;
    if (local_94 == 1) {
      *DAT_00089978 = (byte)local_3c;
      DAT_00089978 = local_30;
      goto LAB_00022269;
    }
    if ((local_94 != 0) && (local_94 - 7U < 3)) {
      uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);
      FUN_0002bd60(uVar7,pbVar17);
      local_94 = 0;
    }
    *DAT_00089978 = (byte)local_3c;
    pbVar17 = DAT_00089978;
    DAT_00089978 = local_30;
    local_74 = (int)pbVar17 - (int)local_30;
    pbVar17 = DAT_00089978;
LAB_00022706:
    DAT_00089978 = pbVar17;
    if (local_94 == 0) goto LAB_00022622;
  }
LAB_000222c3:
  puVar3 = PTR__bfd_std_section_0007ffb0;
  puVar14 = PTR__bfd_std_section_0007ffb0 + 0xc0;
  cVar12 = (&DAT_00080220)[local_94];
  puVar2 = local_80;
  iVar11 = local_94;
  while (local_80 = puVar2, (char)param_1 < cVar12) {
    local_1e = 0;
    DAT_00089978 = DAT_00089978 + local_74;
    puVar8 = (undefined *)MASKED((int)cVar12,&local_30,param_3);
    if (local_20 == '\x01') {
      uVar7 = dcgettext(0,"missing operand; zero assumed",5);
      FUN_0002bc80(uVar7);
      local_20 = '\x02';
      local_28 = 0;
      local_24 = 0;
      local_30 = (byte *)0x0;
      local_2c = 0;
    }
    bVar13 = *DAT_00089978;
    uVar16 = (uint)bVar13;
    if (bVar13 == 0x20) {
                    /* WARNING: Subroutine does not return */
      FUN_0002be80("../../gas/expr.c",0x6fd,&DAT_0005e204);
    }
    pbVar17 = DAT_00089978;
    if (iVar11 == 0x1d) {
      if (bVar13 == 0x5d) {
        uVar16 = (uint)DAT_00089978[1];
        pbVar17 = DAT_00089978 + 1;
        if (DAT_00089978[1] == 0x20) {
          uVar16 = (uint)DAT_00089978[2];
          pbVar17 = DAT_00089978 + 2;
        }
        goto LAB_00022300;
      }
      FUN_0002bd60("missing right bracket");
      uVar16 = (uint)*DAT_00089978;
      if ((&DAT_000802c0)[uVar16] == '\0') goto LAB_00022311;
LAB_00022590:
      local_74 = 1;
      local_88 = 0;
    }
    else {
LAB_00022300:
      DAT_00089978 = pbVar17;
      if ((&DAT_000802c0)[uVar16] != '\0') goto LAB_00022590;
LAB_00022311:
      if (((&DAT_000803c0)[uVar16] & 2) == 0) {
        if (uVar16 == 0x2d) goto LAB_00023070;
LAB_00022328:
        pbVar17 = DAT_00089978;
        if (uVar16 < 0x2e) {
          if (uVar16 == 0x26) {
            bVar20 = iVar11 != 0x1d;
            local_74 = (DAT_00089978[1] == 0x26) + 1;
            local_88 = (uint)(DAT_00089978[1] == 0x26) * 9 + 0x12;
            DAT_00089978 = pbVar17;
          }
          else {
            if (uVar16 == 0x2b) goto LAB_00023070;
            if (uVar16 != 0x21) goto LAB_00022883;
            bVar20 = iVar11 != 0x1d;
            bVar13 = DAT_00089978[1];
            if (bVar13 == 0x21) {
              local_74 = 2;
              local_88 = 0x11;
              DAT_00089978 = pbVar17;
            }
            else {
              local_74 = (bVar13 == 0x3d) + 1;
              local_88 = 0x10;
              DAT_00089978 = pbVar17;
              if (bVar13 == 0x3d) {
                local_88 = 0x16;
              }
            }
          }
        }
        else if (uVar16 == 0x3d) {
          if (DAT_00089978[1] != 0x3d) goto LAB_00022590;
          bVar20 = iVar11 != 0x1d;
          local_74 = 2;
          local_88 = 0x15;
          DAT_00089978 = pbVar17;
        }
        else if (uVar16 < 0x3e) {
          if (uVar16 == 0x3c) {
            bVar20 = iVar11 != 0x1d;
            if ((byte)(DAT_00089978[1] - 0x3c) < 3) {
              local_74 = 2;
              local_88 = *(int *)(&DAT_0005e1e4 + (uint)(byte)(DAT_00089978[1] - 0x3c) * 4);
              bVar20 = bVar20 && local_88 != 0;
              DAT_00089978 = pbVar17;
            }
            else {
              local_74 = 1;
              local_88 = 0x17;
              DAT_00089978 = pbVar17;
            }
          }
          else {
LAB_00022883:
            local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);
            bVar20 = iVar11 != 0x1d;
            local_74 = 1;
            DAT_00089978 = pbVar17;
            if (local_88 == 0) {
              local_88 = FUN_00053d00(0,2,0);
              if (local_88 != 0) {
                local_74 = (int)DAT_00089978 - (int)pbVar17;
              }
              bVar20 = bVar20 && local_88 != 0;
              DAT_00089978 = pbVar17;
            }
          }
        }
        else if (uVar16 == 0x3e) {
          bVar20 = iVar11 != 0x1d;
          bVar13 = DAT_00089978[1];
          if (bVar13 == 0x3d) {
            local_74 = 2;
            local_88 = 0x19;
            DAT_00089978 = pbVar17;
          }
          else {
            local_74 = (bVar13 == 0x3e) + 1;
            local_88 = 0x1a;
            DAT_00089978 = pbVar17;
            if (bVar13 == 0x3e) {
              local_88 = 0xe;
            }
          }
        }
        else {
          if (uVar16 != 0x7c) goto LAB_00022883;
          bVar20 = iVar11 != 0x1d;
          local_74 = (DAT_00089978[1] == 0x7c) + 1;
          local_88 = 0xf;
          DAT_00089978 = pbVar17;
          if (DAT_00089978[1] == 0x7c) {
            local_88 = 0x1c;
          }
        }
      }
      else {
        local_3d = FUN_000220a0(&local_3c);
        local_88 = FUN_00053d00(local_3c,2,&local_3d);
        pbVar17 = local_3c;
        if (local_88 != 1) {
          if ((local_88 == 0) || (2 < local_88 - 7U)) {
            bVar20 = iVar11 != 0x1d && local_88 != 0;
          }
          else {
            uVar7 = dcgettext(0,"invalid use of operator \"%s\"",5);
            FUN_0002bd60(uVar7,pbVar17);
            bVar20 = false;
            local_88 = 0;
          }
          *DAT_00089978 = local_3d;
          pbVar17 = DAT_00089978;
          DAT_00089978 = local_3c;
          local_74 = (int)pbVar17 - (int)local_3c;
          goto LAB_00022388;
        }
        *DAT_00089978 = local_3d;
        DAT_00089978 = local_3c;
        if (uVar16 != 0x2d) goto LAB_00022328;
LAB_00023070:
        local_88 = *(int *)(&DAT_0005e220 + uVar16 * 4);
        local_74 = 1;
        bVar20 = local_88 != 0 && iVar11 != 0x1d;
      }
LAB_00022388:
      if ((bVar20) && ((char)(&DAT_00080220)[iVar11] < (char)(&DAT_00080220)[local_88])) {
                    /* WARNING: Subroutine does not return */
        FUN_0002be80("../../gas/expr.c",0x70d,&DAT_0005e204);
      }
    }
    if (iVar11 < 10) {
                    /* WARNING: Subroutine does not return */
      FUN_0002be80("../../gas/expr.c",0x70e,&DAT_0005e204);
    }
    if (0x3d < iVar11) {
                    /* WARNING: Subroutine does not return */
      FUN_0002be80("../../gas/expr.c",0x712,&DAT_0005e204);
    }
    if ((char)param_2[4] == '\x06') {
      if (-param_2[3] < (int)(uint)(param_2[2] != 0)) {
        pcVar9 = "left operand is a bignum; integer 0 assumed";
      }
      else {
        pcVar9 = "left operand is a float; integer 0 assumed";
      }
      uVar7 = dcgettext(0,pcVar9,5);
      FUN_0002bc80(uVar7);
      *(undefined1 *)(param_2 + 4) = 2;
      param_2[2] = 0;
      param_2[3] = 0;
      *param_2 = 0;
      param_2[1] = 0;
    }
    local_94._0_1_ = (undefined1)iVar11;
    if (local_20 == '\x06') {
      if ((int)-local_24 < (int)(uint)(local_28 != 0)) {
        pcVar9 = "right operand is a bignum; integer 0 assumed";
      }
      else {
        pcVar9 = "right operand is a float; integer 0 assumed";
      }
      uVar7 = dcgettext(0,pcVar9,5);
      FUN_0002bc80(uVar7);
      local_20 = '\x02';
      local_28 = 0;
      local_24 = 0;
      local_30 = (byte *)0x0;
      local_2c = 0;
      if (iVar11 != 0x13) {
        cVar12 = (char)param_2[4];
        if (iVar11 != 0x14) goto LAB_000223e8;
        if (cVar12 == '\x05') goto LAB_00022cb4;
LAB_00022980:
        uVar16 = param_2[2];
        uVar19 = param_2[3];
        param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);
        bVar5 = *(byte *)((int)param_2 + 0x11);
        param_2[2] = uVar16 - local_28;
        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;
        if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) goto LAB_0002301d;
LAB_000229b7:
        *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | bVar5 & 0xfd;
        goto LAB_00022442;
      }
      if ((char)param_2[4] != '\x05') {
        bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;
LAB_00023225:
        *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar13 * '\x02';
        goto LAB_00022442;
      }
LAB_00022c1a:
      local_94._0_1_ = 0x13;
      goto LAB_00022406;
    }
    if (iVar11 == 0x13) {
      if (local_20 == '\x02') {
        if ((char)param_2[4] == '\x05') goto LAB_00022c1a;
        uVar16 = param_2[2];
        uVar19 = param_2[3];
        bVar5 = *(byte *)((int)param_2 + 0x11);
        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);
        param_2[3] = uVar15;
        param_2[2] = uVar16 + local_28;
        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;
        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)
        goto LAB_00023225;
LAB_0002301d:
        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;
        goto LAB_00022442;
      }
      cVar12 = (char)param_2[4];
      if (cVar12 != '\x02') goto LAB_000223f1;
      if (local_20 == '\x05') goto LAB_00022a33;
      uVar16 = param_2[3];
      *(char *)(param_2 + 4) = local_20;
      *param_2 = (int)local_30;
      param_2[1] = local_2c;
      uVar19 = param_2[2];
      uVar15 = uVar16 + local_24 + (uint)CARRY4(uVar19,local_28);
      param_2[2] = uVar19 + local_28;
      param_2[3] = uVar15;
      bVar13 = (*(byte *)((int)param_2 + 0x11) ^ local_1f) >> 1 & 1;
      if (uVar15 < uVar16 || uVar15 - uVar16 < (uint)(uVar19 + local_28 < uVar19)) {
        bVar13 = bVar13 ^ 1;
      }
      *(byte *)((int)param_2 + 0x11) = bVar13 * '\x02' | *(byte *)((int)param_2 + 0x11) & 0xfd;
      local_80 = puVar8;
      goto LAB_000224e0;
    }
    cVar12 = (char)param_2[4];
    if (iVar11 == 0x14) {
      if (local_20 == '\x03') {
        if ((cVar12 != '\x03') || (puVar8 != puVar2)) goto LAB_000223e8;
        pbVar17 = (byte *)*param_2;
        if ((puVar8 == PTR__bfd_std_section_0007ffb0 + 0xc0) ||
           (((puVar8 == PTR__bfd_std_section_0007ffb0 + 0x180 || (DAT_000897ec == puVar8)) ||
            (DAT_00089720 == puVar8)))) {
LAB_00022c90:
          if (local_30 == pbVar17) goto LAB_000234b2;
        }
        else {
          iVar6 = FUN_00038720(pbVar17,0);
          if ((iVar6 != 0) || (iVar6 = FUN_00038720(local_30,0), pbVar17 = local_30, iVar6 != 0)) {
            pbVar17 = (byte *)*param_2;
            goto LAB_00022c90;
          }
LAB_000234b2:
          uVar7 = FUN_0003b830(pbVar17);
          uVar10 = FUN_0003b830(*param_2);
          iVar6 = FUN_00024ed0(uVar10,uVar7,&local_3c);
          if (iVar6 != 0) {
            lVar22 = FUN_0003a3c0(*param_2);
            lVar23 = FUN_0003a3c0(local_30);
            uVar16 = param_2[3];
            uVar19 = param_2[2];
            pbVar17 = (byte *)(uVar19 - local_28);
            uVar15 = (uVar16 - local_24) - (uint)(uVar19 < local_28);
            param_2[3] = uVar15;
            bVar13 = *(byte *)((int)param_2 + 0x11);
            param_2[2] = (int)pbVar17;
            bVar5 = (bVar13 ^ local_1f) >> 1 & 1;
            if (uVar16 < local_24 || uVar16 - local_24 < (uint)(uVar19 < local_28)) {
              bVar5 = bVar5 ^ 1;
              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';
            }
            else {
              *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';
            }
            uVar16 = (int)pbVar17 - (int)local_3c;
            uVar19 = (uVar15 - local_38) - (uint)(pbVar17 < local_3c);
            param_2[2] = uVar16;
            param_2[3] = uVar19;
            if (uVar15 < local_38 || uVar15 - local_38 < (uint)(pbVar17 < local_3c)) {
              bVar5 = bVar5 ^ 1;
              bVar13 = *(byte *)((int)param_2 + 0x11) & 0xfd | bVar5 * '\x02';
              *(byte *)((int)param_2 + 0x11) = bVar13;
            }
            else {
              bVar13 = *(byte *)((int)param_2 + 0x11);
            }
            lVar1 = (lVar22 - lVar23) + CONCAT44(uVar19,uVar16);
            uVar15 = (uint)((ulonglong)lVar1 >> 0x20);
            *(longlong *)(param_2 + 2) = lVar1;
            bVar5 = bVar5 ^ (byte)((ulonglong)(lVar22 - lVar23) >> 0x3f);
            if (uVar15 < uVar19 || uVar15 - uVar19 < (uint)((uint)lVar1 < uVar16)) {
              bVar5 = bVar5 ^ 1;
            }
            *(undefined1 *)(param_2 + 4) = 2;
            *param_2 = 0;
            *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | bVar5 * '\x02';
            goto LAB_000224e0;
          }
        }
        cVar12 = (char)param_2[4];
      }
      if (local_20 == '\x02') {
        if (cVar12 != '\x05') goto LAB_00022980;
LAB_00022cb4:
        local_94._0_1_ = 0x14;
        goto LAB_00022406;
      }
    }
LAB_000223e8:
    uVar19 = local_24;
    uVar16 = local_28;
    if (cVar12 != '\x02') {
LAB_000223f1:
      if ((cVar12 != '\x03') || (local_20 != '\x03')) goto LAB_00022406;
      if (1 < iVar11 - 0x13U) {
        if ((param_2[3] != 0 || local_24 != 0) || (param_2[2] != 0 || local_28 != 0))
        goto LAB_00022406;
        *(undefined1 *)(param_2 + 4) = (undefined1)local_94;
        param_2[1] = (int)local_30;
        goto LAB_00022442;
      }
      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;
      param_2[1] = (int)local_30;
      if (iVar11 == 0x13) {
        uVar16 = param_2[2];
        uVar19 = param_2[3];
        bVar5 = *(byte *)((int)param_2 + 0x11);
        uVar15 = uVar19 + local_24 + (uint)CARRY4(uVar16,local_28);
        param_2[3] = uVar15;
        param_2[2] = uVar16 + local_28;
        bVar13 = (bVar5 ^ local_1f) >> 1 & 1;
        if (uVar19 <= uVar15 && (uint)(uVar16 + local_28 < uVar16) <= uVar15 - uVar19)
        goto LAB_000229b7;
        *(byte *)((int)param_2 + 0x11) = (bVar13 ^ 1) * '\x02' | bVar5 & 0xfd;
        goto LAB_00022442;
      }
      uVar16 = param_2[2];
      uVar19 = param_2[3];
      param_2[2] = uVar16 - local_28;
      param_2[3] = (uVar19 - local_24) - (uint)(uVar16 < local_28);
      bVar13 = *(byte *)((int)param_2 + 0x11);
      bVar5 = (local_1f ^ bVar13) >> 1 & 1;
      if (uVar19 < local_24 || uVar19 - local_24 < (uint)(uVar16 < local_28)) {
        *(byte *)((int)param_2 + 0x11) = bVar13 & 0xfd | (bVar5 ^ 1) * '\x02';
      }
      else {
        *(byte *)((int)param_2 + 0x11) = bVar5 * '\x02' | bVar13 & 0xfd;
      }
      puVar18 = PTR__bfd_std_section_0007ffb0;
      if (puVar8 != puVar2) goto LAB_00022450;
      if (puVar2 == PTR__bfd_std_section_0007ffb0 + 0x180) {
LAB_00023318:
        local_80 = puVar18 + 0x180;
        goto LAB_000224e0;
      }
      if (puVar2 != PTR__bfd_std_section_0007ffb0 + 0xc0) {
        if ((((DAT_000897ec == puVar2) || (DAT_00089720 == puVar2)) ||
            (iVar11 = FUN_00038720(*param_2,0), iVar11 != 0)) ||
           (iVar11 = FUN_00038720(local_30,0), iVar11 != 0)) goto LAB_000224e0;
        goto LAB_00023318;
      }
      goto LAB_000228f0;
    }
    if (local_20 != '\x02') {
LAB_00022a33:
LAB_00022406:
      iVar6 = FUN_00021220(param_2);
      *param_2 = iVar6;
      iVar6 = FUN_00021220(&local_30);
      param_2[2] = 0;
      param_2[1] = iVar6;
      *(undefined1 *)(param_2 + 4) = (undefined1)local_94;
      param_2[3] = 0;
      *(byte *)((int)param_2 + 0x11) = *(byte *)((int)param_2 + 0x11) & 0xfc | 1;
      goto LAB_00022442;
    }
    local_5c = local_28;
    local_58 = local_24;
    if (local_24 == 0 && local_28 == 0) {
      if (iVar11 - 0xbU < 2) {
        uVar7 = dcgettext(0,"division by zero",5);
        FUN_0002bc80(uVar7);
        local_5c = 1;
        local_58 = 0;
      }
    }
    else if ((local_24 != 0 || -local_24 < (uint)(0x3f < local_28)) && (iVar11 - 0xdU < 2)) {
      uVar7 = dcgettext(0,"shift count",5);
      FUN_0002c280(uVar7,uVar16,uVar19,0,0,0x3f,0,0,0);
      param_2[2] = 0;
      param_2[3] = 0;
      local_5c = 0;
      local_58 = 0;
    }
    switch(iVar11) {
    case 10:
      iVar6 = param_2[2];
      uVar16 = param_2[2];
      param_2[2] = (int)((ulonglong)local_5c * (ulonglong)uVar16);
      param_2[3] = (int)((ulonglong)local_5c * (ulonglong)uVar16 >> 0x20) +
                   param_2[3] * local_5c + iVar6 * local_58;
      break;
    case 0xb:
      uVar21 = FUN_00059a10(param_2[2],param_2[3],local_5c,local_58);
      *(undefined8 *)(param_2 + 2) = uVar21;
      break;
    case 0xc:
      uVar21 = FUN_00059b60(param_2[2],param_2[3],local_5c,local_58);
      *(undefined8 *)(param_2 + 2) = uVar21;
      break;
    case 0xd:
      uVar15 = param_2[2] << ((byte)local_5c & 0x1f);
      uVar19 = uVar15;
      uVar16 = param_2[3] << ((byte)local_5c & 0x1f) |
               (uint)param_2[2] >> 0x20 - ((byte)local_5c & 0x1f);
      if ((local_5c & 0x20) != 0) {
        uVar19 = 0;
        uVar16 = uVar15;
      }
      param_2[3] = uVar16;
      param_2[2] = uVar19;
      break;
    case 0xe:
      uVar15 = (uint)param_2[3] >> ((byte)local_5c & 0x1f);
      uVar19 = uVar15;
      uVar16 = (uint)param_2[2] >> ((byte)local_5c & 0x1f) |
               param_2[3] << 0x20 - ((byte)local_5c & 0x1f);
      if ((local_5c & 0x20) != 0) {
        uVar19 = 0;
        uVar16 = uVar15;
      }
      param_2[2] = uVar16;
      param_2[3] = uVar19;
      break;
    case 0xf:
      param_2[2] = param_2[2] | local_5c;
      param_2[3] = param_2[3] | local_58;
      break;
    case 0x10:
      param_2[2] = param_2[2] | ~local_5c;
      param_2[3] = param_2[3] | ~local_58;
      break;
    case 0x11:
      param_2[2] = param_2[2] ^ local_5c;
      param_2[3] = param_2[3] ^ local_58;
      break;
    case 0x12:
      param_2[2] = param_2[2] & local_5c;
      param_2[3] = param_2[3] & local_58;
      break;
    default:
      goto LAB_00022a33;
    case 0x14:
      uVar16 = param_2[2];
      uVar19 = param_2[3];
      param_2[2] = uVar16 - local_5c;
      param_2[3] = (uVar19 - local_58) - (uint)(uVar16 < local_5c);
      if (uVar19 < local_58 || uVar19 - local_58 < (uint)(uVar16 < local_5c)) {
        *(byte *)((int)param_2 + 0x11) =
             (*(byte *)((int)param_2 + 0x11) >> 1 & 1 ^ 1) * '\x02' |
             *(byte *)((int)param_2 + 0x11) & 0xfd;
      }
      break;
    case 0x15:
      uVar16 = (uint)(param_2[2] == local_5c && param_2[3] == local_58);
      goto code_r0x00022ed0;
    case 0x16:
      uVar16 = (uint)(param_2[2] != local_5c || param_2[3] != local_58);
      goto code_r0x00022ed0;
    case 0x17:
      iVar6 = param_2[3] - local_58;
      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=
          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d74;
code_r0x00022d9e:
      uVar16 = 0;
      goto code_r0x00022ed0;
    case 0x18:
      iVar6 = local_58 - param_2[3];
      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) !=
          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;
      goto code_r0x00022d74;
    case 0x19:
      iVar6 = param_2[3] - local_58;
      if ((SBORROW4(param_2[3],local_58) != SBORROW4(iVar6,(uint)((uint)param_2[2] < local_5c))) !=
          (int)(iVar6 - (uint)((uint)param_2[2] < local_5c)) < 0) goto code_r0x00022d9e;
      goto code_r0x00022d74;
    case 0x1a:
      iVar6 = local_58 - param_2[3];
      if ((SBORROW4(local_58,param_2[3]) != SBORROW4(iVar6,(uint)(local_5c < (uint)param_2[2]))) ==
          (int)(iVar6 - (uint)(local_5c < (uint)param_2[2])) < 0) goto code_r0x00022d9e;
code_r0x00022d74:
      uVar16 = 1;
code_r0x00022ed0:
      param_2[2] = -uVar16;
      param_2[3] = -(uint)(uVar16 != 0);
      break;
    case 0x1b:
      iVar6 = param_2[3];
      param_2[3] = 0;
      param_2[2] = (uint)((param_2[2] != 0 || iVar6 != 0) && (local_5c != 0 || local_58 != 0));
      break;
    case 0x1c:
      iVar6 = param_2[3];
      param_2[3] = 0;
      param_2[2] = (uint)((param_2[2] != 0 || local_5c != 0) || (iVar6 != 0 || local_58 != 0));
    }
LAB_00022442:
    if (puVar8 != puVar2) {
LAB_00022450:
      puVar18 = puVar3;
      if ((puVar2 == puVar14) || (puVar8 == puVar14)) {
LAB_000228f0:
        local_80 = puVar18 + 0xc0;
      }
      else if ((((DAT_00089720 != puVar2) && (local_80 = puVar8, DAT_00089720 != puVar8)) &&
               (local_80 = puVar2, DAT_000897ec != puVar2)) &&
              (((local_80 = puVar8, DAT_000897ec != puVar8 &&
                (local_80 = puVar2, puVar8 != puVar3 + 0x180)) &&
               ((local_80 = puVar8, puVar2 != puVar3 + 0x180 && (local_80 = puVar2, iVar11 != 0x14))
               )))) {
        uVar7 = dcgettext(0,"operation combines symbols in different segments",5);
        FUN_0002bd60(uVar7);
      }
    }
LAB_000224e0:
    if (local_88 == 0) break;
    puVar2 = local_80;
    iVar11 = local_88;
    cVar12 = (&DAT_00080220)[local_88];
  }
LAB_00022622:
  if (*param_2 != 0) {
    FUN_0003b860(*param_2);
  }
  if (((char)param_1 == '\0') && (param_3 == 0)) {
    FUN_00021620(param_2);
  }
  if ((char)param_2[4] == '\x02') {
    local_80 = PTR__bfd_std_section_0007ffb0 + 0x180;
  }
  return local_80;
}

