
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

insn_template * __regparm3 match_template(char mnem_suffix)

{
  byte *pbVar1;
  byte bVar2;
  char cVar3;
  byte bVar4;
  undefined4 uVar5;
  expressionS *peVar6;
  i386_operand_type g0;
  i386_operand_type g0_00;
  i386_operand_type g0_01;
  i386_operand_type g0_02;
  i386_operand_type g0_03;
  i386_operand_type g1;
  i386_operand_type g1_00;
  i386_operand_type g1_01;
  i386_operand_type g1_02;
  i386_operand_type g1_03;
  i386_operand_type t1;
  i386_operand_type t1_00;
  i386_operand_type t1_01;
  i386_operand_type t1_02;
  i386_operand_type t1_03;
  i386_operand_type t0;
  i386_operand_type t0_00;
  i386_operand_type t0_01;
  i386_operand_type t0_02;
  i386_operand_type t0_03;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  bool bVar13;
  bool bVar14;
  bool bVar15;
  bool bVar16;
  bool bVar17;
  undefined4 uVar18;
  byte bVar19;
  int iVar20;
  uint uVar21;
  insn_template *piVar22;
  char *pcVar23;
  char *format;
  char *pcVar24;
  check_kind cVar25;
  byte bVar26;
  check_kind cVar27;
  uint extraout_ECX;
  uint extraout_ECX_00;
  byte bVar28;
  uint uVar30;
  uint uVar31;
  insn_template *t;
  insn_template *piVar32;
  uint uVar33;
  i386_insn *piVar34;
  uint uVar35;
  byte bVar36;
  i386_error local_e0;
  uint local_dc;
  flag_code local_d8;
  check_kind local_d4;
  uint local_d0;
  byte local_c8;
  byte local_c0;
  uint local_a4;
  uint local_a0;
  uint local_9c;
  uint local_98;
  uint local_94;
  uint local_90;
  byte local_8c;
  i386_opcode_modifier suffix_check;
  i386_opcode_modifier mnemsuf_check;
  i386_operand_type operand_types [5];
  byte bVar29;
  
  uVar18 = acc32.array[0];
  bVar36 = 0;
  bVar12 = false;
  bVar11 = false;
  bVar10 = false;
  bVar9 = false;
  bVar8 = false;
  bVar7 = false;
  if ((intel_syntax == 0) || (i.broadcast == (Broadcast_Operation *)0x0)) {
    if (i.suffix == 'b') {
      bVar12 = false;
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = true;
    }
    else if (i.suffix == 'w') {
      bVar12 = false;
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = true;
      bVar7 = false;
    }
    else if (i.suffix == 's') {
      bVar12 = false;
      bVar11 = false;
      bVar10 = true;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
    }
    else if (i.suffix == 'l') {
      bVar12 = false;
      bVar11 = false;
      bVar10 = false;
      bVar9 = true;
      bVar8 = false;
      bVar7 = false;
    }
    else if (i.suffix == 'q') {
      bVar12 = false;
      bVar11 = true;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
    }
    else if (i.suffix == '\x01') {
      bVar12 = true;
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
    }
    bVar17 = false;
    bVar16 = false;
    bVar15 = false;
    bVar14 = false;
    bVar13 = false;
    if (intel_syntax != 0) goto LAB_0004b97b;
  }
  else {
LAB_0004b97b:
    bVar17 = false;
    bVar16 = false;
    bVar15 = false;
    bVar14 = false;
    bVar13 = false;
    switch(mnem_suffix) {
    case 'b':
      bVar17 = false;
      bVar16 = false;
      bVar15 = false;
      bVar14 = false;
      bVar13 = true;
      break;
    case 'l':
      bVar17 = false;
      bVar16 = false;
      bVar15 = true;
      bVar14 = false;
      bVar13 = false;
      break;
    case 'q':
      bVar17 = true;
      bVar16 = false;
      bVar15 = false;
      bVar14 = false;
      bVar13 = false;
      break;
    case 's':
      bVar17 = false;
      bVar16 = true;
      bVar15 = false;
      bVar14 = false;
      bVar13 = false;
      break;
    case 'w':
      bVar17 = false;
      bVar16 = false;
      bVar15 = false;
      bVar14 = true;
      bVar13 = false;
    }
  }
  i.error = number_of_operands_mismatch;
  t = current_templates->start;
  if (t < current_templates->end) {
    local_e0 = operand_size_mismatch;
    local_dc = 0;
    piVar32 = t;
LAB_0004ba5c:
    t = piVar32;
    local_d8 = ~CODE_32BIT;
    if (i.operands != t->operands) goto LAB_0004ba48;
    i.error = unsupported;
    iVar20 = cpu_flags_match(t);
    if ((iVar20 != 3) ||
       ((i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&
        (((t->opcode_modifier).field_0x8 & 0x40) != 0)))) goto LAB_0004ba48;
    i.error = unsupported_syntax;
    if (intel_syntax == 0) {
      bVar26 = (t->opcode_modifier).field_0x9;
      if ((bVar26 & 1) != 0) goto LAB_0004bea5;
      if (intel64 != 0) goto LAB_0004bfcc;
LAB_0004bacf:
      if ((bVar26 & 4) != 0) goto LAB_0004bea5;
LAB_0004bad7:
      i.error = invalid_instruction_suffix;
      bVar26 = (t->opcode_modifier).field_0x2;
      if ((((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&
          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||
            (((bVar26 & 8) != 0 && (bVar9)))) ||
           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||
            (((bVar26 & 0x40) != 0 && (bVar12)))))))) ||
         ((((bVar26 & 2) != 0 && (bVar13)) ||
          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||
           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))))))
      goto LAB_0004bea5;
      if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0) ==
          (undefined1  [12])0x0) {
        uVar33 = i.operands;
        if (i.operands != 0) {
          uVar33 = 0;
          do {
            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))
               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {
              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&
                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&
                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||
                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&
                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||
                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&
                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||
                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&
                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||
                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&
                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||
                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&
                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&
                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||
                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&
                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||
                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&
                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||
                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&
                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&
                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||
                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&
                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||
                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&
                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||
                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&
                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||
                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&
                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||
                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&
                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||
                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&
                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||
                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&
                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {
LAB_0004bc40:
                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)
                    == (undefined1  [12])0x0) goto LAB_0004c4e4;
                if (i.operands != 2) {
                    /* WARNING: Subroutine does not return */
                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");
                }
                uVar33 = 0;
                goto LAB_0004bc61;
              }
              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);
              if ((bVar19 & 0x10) != 0) {
                if (((((((bVar19 & 0x20) != 0) &&
                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||
                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&
                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||
                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&
                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||
                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&
                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||
                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&
                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||
                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&
                      ((i.broadcast == (Broadcast_Operation *)0x0 &&
                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||
                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&
                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))
                goto LAB_0004bc40;
                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||
                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),
                    (bVar26 & 0x20) == 0 &&
                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&
                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {
                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&
                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||
                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&
                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||
                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&
                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))
                  goto LAB_0004bc40;
                }
                else {
                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);
                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))
                  goto LAB_0004bc40;
                }
              }
            }
            uVar33 = uVar33 + 1;
          } while (uVar33 != i.operands);
          uVar33 = 0;
        }
      }
      else {
        uVar33 = 0;
      }
      goto LAB_0004c04c;
    }
    if (-1 < (char)(t->opcode_modifier).field_0x8) {
      bVar26 = (t->opcode_modifier).field_0x9;
      if (intel64 == 0) goto LAB_0004bacf;
LAB_0004bfcc:
      if ((bVar26 & 2) == 0) goto LAB_0004bad7;
    }
    goto LAB_0004bea5;
  }
  if (t == current_templates->end) {
_L3098:
    pcVar24 = "number of operands mismatch";
    goto LAB_0004ca20;
  }
  if (quiet_warnings != 0) {
    piVar32 = t;
    piVar34 = &i;
    for (iVar20 = 0x16; iVar20 != 0; iVar20 = iVar20 + -1) {
      (piVar34->tm).name = piVar32->name;
      piVar32 = (insn_template *)&piVar32->operands;
      piVar34 = (i386_insn *)&(piVar34->tm).operands;
    }
    return t;
  }
  local_d8 = ~CODE_32BIT;
  local_dc = 0;
  goto LAB_0004bed8;
LAB_0004bc61:
  if (((((ulonglong)t->operand_types[uVar33] & 1) != 0) ||
      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0)) &&
     (((((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&
         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||
        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&
         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||
       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&
        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))) ||
      ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&
        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||
       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&
        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))))))) goto LAB_0004c4e4;
  if ((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x10) != 0) {
    uVar21 = uVar33 ^ 1;
    if ((((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&
          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||
         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&
          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||
        (((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&
          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||
         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&
           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||
          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&
            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||
           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&
            ((i.broadcast == (Broadcast_Operation *)0x0 &&
             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))))) ||
       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&
        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0)))) goto LAB_0004c4e4;
    if (((((ulonglong)t->operand_types[uVar21] & 4) == 0) ||
        (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||
       ((bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&
        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&
         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))))) {
      if ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&
          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)) ||
         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&
           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||
          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&
           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))))) goto LAB_0004c4e4;
    }
    else {
      bVar26 = *(byte *)((int)i.types + uVar21 * 8 + 4);
      if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))
      goto LAB_0004c4e4;
    }
  }
  if (uVar33 == 1) goto code_r0x0004be14;
  uVar33 = 1;
  goto LAB_0004bc61;
LAB_0004c4e4:
  i.error = operand_size_mismatch;
  local_d8 = ~CODE_32BIT;
  goto LAB_0004ba48;
code_r0x0004be14:
  uVar33 = 0;
LAB_0004c04c:
  do {
    uVar5 = *(undefined4 *)((int)t->operand_types + uVar33 * 8 + 4);
    operand_types[uVar33].array[0] = t->operand_types[uVar33].array[0];
    *(undefined4 *)((int)operand_types + uVar33 * 8 + 4) = uVar5;
    uVar33 = uVar33 + 1;
  } while (uVar33 != 5);
  if (i.suffix == 'q') {
    if (flag_code != CODE_64BIT) {
      if (intel_syntax == 0) {
        if ((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))
        goto LAB_0004be5a;
      }
      else if ((-1 < (char)(t->opcode_modifier).field_0x1) &&
              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))) {
LAB_0004be5a:
        if ((operand_types[0].array[0] & 6) != 0) {
          local_d4 = t->operands;
          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||
             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;
        }
        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {
LAB_0004bea5:
          local_d8 = ~CODE_32BIT;
          piVar22 = current_templates->end;
          piVar32 = t + 1;
          if (piVar22 <= t + 1) goto LAB_0004bec0;
          goto LAB_0004ba5c;
        }
      }
    }
LAB_0004c390:
    local_d4 = t->operands;
  }
  else {
    if ((i.suffix != 'l') || ((cpu_arch_flags.array[0]._0_1_ & 4) != 0)) goto LAB_0004c390;
    if (intel_syntax == 0) {
      if ((*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2))
      goto LAB_0004c390;
    }
    else if (((char)(t->opcode_modifier).field_0x1 < '\0') ||
            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))))
    goto LAB_0004c390;
    if ((operand_types[0].array[0] & 6) == 0) goto LAB_0004bea5;
    local_d4 = t->operands;
    if ((((ulonglong)operand_types[1 < local_d4] & 2) == 0) &&
       (((ulonglong)operand_types[1 < local_d4] & 4) == 0)) goto LAB_0004bea5;
  }
LAB_0004c397:
  if (local_d4 == 0) {
    local_d8 = ~CODE_32BIT;
    piVar22 = current_templates->end;
    goto LAB_0004bec6;
  }
  local_d8 = ~CODE_32BIT;
  if (i.prefix[2] != '\0') {
    if (flag_code == CODE_16BIT) {
      local_d8 = CODE_32BIT;
      do {
        if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0) {
          *(byte *)((int)operand_types + local_d8 * 8 + 2) =
               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;
          goto LAB_0004c3ff;
        }
        local_d8 = local_d8 + CODE_16BIT;
      } while (local_d8 != 5);
    }
    else {
      local_d8 = flag_code;
      if (flag_code == CODE_32BIT) {
        do {
          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {
            *(byte *)((int)operand_types + local_d8 * 8 + 2) =
                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;
            goto LAB_0004c3ff;
          }
          local_d8 = local_d8 + CODE_16BIT;
        } while (local_d8 != 5);
      }
      else {
        local_d8 = ~CODE_32BIT;
        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;
        local_d8 = CODE_32BIT;
        do {
          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {
            *(byte *)((int)operand_types + local_d8 * 8 + 2) =
                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;
            goto LAB_0004c3ff;
          }
          local_d8 = local_d8 + CODE_16BIT;
        } while (local_d8 != 5);
      }
    }
    local_d8 = ~CODE_32BIT;
  }
LAB_0004c3ff:
  if ((i.reloc[0] == BFD_RELOC_386_GOT32) && (t->base_opcode == 0xa0)) goto LAB_0004ba48;
  bVar26 = (t->opcode_modifier).field_0x1;
  local_d0 = 0;
  if ((bVar26 & 0x40) != 0) {
    local_d0 = (1 << ((undefined1)local_d4 & 0x1f)) - 1;
    if (i.broadcast != (Broadcast_Operation *)0x0) {
      local_d0 = local_d0 & ~(1 << ((byte)(i.broadcast)->operand & 0x1f));
    }
  }
  uVar21 = i.types[0].array[0] & operand_types[0].array[0];
  bVar19 = (byte)(uVar21 >> 0x10);
  local_8c = (byte)(uVar21 >> 0x18);
  bVar28 = (byte)((uint)i.types[0]._0_4_ >> 0x18);
  bVar2 = (byte)((uint)i.types[1]._0_4_ >> 0x10);
  bVar29 = (byte)((uint)i.types[1]._0_4_ >> 0x18);
  local_c8 = (byte)i.types[0].array[1];
  uVar33 = local_dc;
  switch(local_d4) {
  default:
    goto _L2937;
  case check_warning:
    if (((uVar21 & 0x1dffffff) != 0 ||
         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&
       (((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0))
    goto _L2937;
    goto LAB_0004c880;
  case check_error:
    if (flag_code == CODE_64BIT) {
      if ((((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&
          (i.types[0].array[0] == uVar18)) &&
         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))))
      goto LAB_0004ba48;
    }
    else if (((i.hle_prefix != (char *)0x0) &&
             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&
            ((i.types[1].array[0] & 0x5f0000) != 0)) goto LAB_0004ba48;
    if (i.dir_encoding != Cpu386) goto _L2938;
    bVar4 = *(byte *)&t->opcode_modifier;
    if ((bVar4 & 1) == 0) goto LAB_0004c538;
    goto LAB_0004c7fc;
  case check_error|check_warning:
    break;
  case 4:
  case 5:
    goto _L2938;
  }
  if (i.dir_encoding == Cpu386) {
LAB_0004c538:
    if ((i.mem_operands == 0) &&
       ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=
        (undefined1  [12])0x0)) goto LAB_0004ba48;
  }
_L2938:
  if (((uVar21 & 0x1dffffff) != 0 ||
       (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&
     (((((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&
       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],
       (uVar21 & 0x1dffffff) != 0 ||
       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&
      (local_8c = (byte)(uVar21 >> 0x18),
      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)))) {
    if ((local_d0 & 3) == 3) {
      if ((((i.types[0].array[0] & 5) != 0) ||
          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&
           ((operand_types[0].array[0] & 4) != 0)))) &&
         ((((i.types[1].array[0] & 5) != 0 ||
           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&
            ((operand_types[1].array[0] & 4) != 0)))) &&
          ((((char)(bVar29 ^ bVar28) < '\0' ||
            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0
            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)
                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &
                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||
                               ((char)(operand_types[1].array[0]._3_1_ &
                                      operand_types[0].array[0]._3_1_) < '\0')) ||
                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &
                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||
                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1
                      ) != 0 ||
                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1
                      ) != 0)) ||
                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)
                     != 0)))))))))) {
        i.error = register_type_mismatch;
        goto LAB_0004c7ec;
      }
    }
    if (local_d4 == 4) {
LAB_0004d03b:
      local_98 = i.types[3].array[1] & operand_types[3].array[1];
      local_a4 = i.types[3].array[0] & operand_types[3].array[0];
LAB_0004d05d:
      local_9c = i.types[2].array[1] & operand_types[2].array[1];
      local_a0 = operand_types[2].array[0] & i.types[2].array[0];
    }
    else {
      if (local_d4 == 5) {
        local_94 = i.types[4].array[1] & operand_types[4].array[1];
        local_90 = i.types[4].array[0] & operand_types[4].array[0];
        goto LAB_0004d03b;
      }
      if (local_d4 == 3) goto LAB_0004d05d;
    }
    if (local_d4 == 4) {
LAB_0004d3b2:
      if (((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||
          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)) {
        uVar21 = i.types[3].array[0] >> 0x18;
        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);
        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&
            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {
          if ((((local_d0 & 10) == 10) &&
              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],
              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]
              , g1_02.array[1] = operand_types[3].array[1],
              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,
              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)
              , uVar21 = extraout_ECX, iVar20 == 0)) ||
             (((local_d0 & 0xc) == 0xc &&
              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],
              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]
              , g1_01.array[1] = operand_types[3].array[1],
              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,
              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)
              , iVar20 == 0)))) goto LAB_0004ba48;
          goto LAB_0004d445;
        }
      }
    }
    else if (local_d4 == 5) {
      if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||
          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {
        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);
        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&
            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {
          t0_03.array[1] = i.types[4].array[1];
          t0_03.array[0] = i.types[4].array[0];
          g0.array[1] = operand_types[3].array[1];
          g0.array[0] = operand_types[3].array[0];
          g1.array[1] = operand_types[4].array[1];
          g1.array[0] = operand_types[4].array[0];
          t1.array[1] = i.types[4].array[0] >> 0x18;
          t1.array[0] = i.types[4].array[0] >> 0x18;
          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);
          if (iVar20 == 0) goto LAB_0004ba48;
          goto LAB_0004d3b2;
        }
      }
    }
    else {
      if (local_d4 != 3) goto _L2937;
LAB_0004d445:
      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||
          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {
        uVar21 = i.types[2].array[0] >> 0x18;
        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);
        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&
            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {
          if ((((local_d0 & 5) == 5) &&
              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],
              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]
              , g1_03.array[1] = operand_types[2].array[1],
              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,
              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)
              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||
             (((local_d0 & 6) == 6 &&
              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],
              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]
              , g1_00.array[1] = operand_types[2].array[1],
              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,
              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),
              iVar20 == 0)))) goto LAB_0004ba48;
          goto _L2937;
        }
      }
    }
LAB_0004c880:
    i.error = operand_type_mismatch;
    goto LAB_0004ba48;
  }
  i.error = operand_type_mismatch;
LAB_0004c7ec:
  bVar4 = *(byte *)&t->opcode_modifier;
  if ((bVar4 & 1) == 0) goto LAB_0004ba48;
LAB_0004c7fc:
  uVar33 = i.types[0].array[0] & operand_types[1].array[0];
  if (((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&
      ((i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00) == 0 &&
      (i.types[0].array[1] & operand_types[1].array[1] & 0x80) == 0)) goto LAB_0004c880;
  local_c0 = (byte)(uVar33 >> 0x18);
  if ((((((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||
        ((bVar28 ^ local_c0) & 2) != 0) ||
      (uVar33 = operand_types[0].array[0] & i.types[1].array[0],
      ((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&
      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&
      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0))) ||
     (local_c0 = (byte)(uVar33 >> 0x18),
     (((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40) != 0 || ((bVar29 ^ local_c0) & 2) != 0))
  goto LAB_0004c880;
  if (local_d0 != 0) {
    if (((((i.types[0].array[0] & 5) != 0) ||
         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&
          ((operand_types[1].array[0] & 4) != 0)))) &&
        (((i.types[1].array[0] & 5) != 0 ||
         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&
          ((operand_types[0].array[0] & 4) != 0)))))) &&
       ((((char)(bVar28 ^ bVar29) < '\0' ||
         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))
        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||
            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=
                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <
                       '\0')) ||
               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0
               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &
                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||
                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &
                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||
             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))
            )))))) {
      i.error = register_type_mismatch;
      goto LAB_0004ba48;
    }
  }
  local_dc = 0;
  if ((bVar4 & 1) != 0) {
    local_dc = (-(uint)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02) + 0x400;
  }
  uVar33 = local_dc | 8;
  if ((bVar26 & 4) == 0) {
    uVar33 = local_dc;
  }
_L2937:
  local_dc = uVar33;
  if (((((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||
        (((t->cpu_flags).array[2] & DAT_00065380) != 0)) ||
       (((t->cpu_flags).array[1] & DAT_0006537c) != 0)) ||
      (((t->cpu_flags).array[0] & avx512_15705) != 0)) &&
     ((((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0 &&
      (t->operands != 0)))) {
    uVar33 = 0;
    do {
      if (((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0) &&
         ((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||
          ((bVar26 & 8) != 0)))) goto LAB_0004cc2a;
      uVar33 = uVar33 + 1;
    } while (t->operands != uVar33);
  }
  bVar26 = (t->opcode_modifier).field_0x6;
  bVar19 = bVar26 & 0x30;
  if ((bVar26 & 0x30) == 0) {
    if ((i.index_reg != (reg_entry *)0x0) &&
       (((ulonglong)(i.index_reg)->reg_type & 0x3800000000) != 0)) {
      i.error = unsupported_vector_index_register;
      local_e0 = unsupported_vector_index_register;
      goto LAB_0004ba48;
    }
    if (((t->opcode_modifier).field_0x8 & 8) != 0) goto LAB_0004c6f7;
    goto LAB_0004c71a;
  }
  if (((t->opcode_modifier).field_0x8 & 8) != 0) {
LAB_0004c6f7:
    if ((i.mask == (Mask_Operation *)0x0) || ((i.mask)->mask->reg_num == '\0')) {
      i.error = no_default_mask;
      local_e0 = no_default_mask;
      goto LAB_0004ba48;
    }
    if (bVar19 == 0) goto LAB_0004c71a;
  }
  if (i.index_reg != (reg_entry *)0x0) {
    if (bVar19 == 0x10) {
      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 8;
    }
    else if (bVar19 == 0x20) {
      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10;
    }
    else {
      if (bVar19 != 0x30) goto LAB_0004cef0;
      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;
    }
    if (bVar26 != 0) {
      if (i.reg_operands == 2) {
        if (i.mask != (Mask_Operation *)0x0) goto LAB_0004c71a;
        if ((i.types[0].array[0] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");
        }
        if ((i.types[0].array[1] & 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");
        }
        if ((i.types[2].array[0] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");
        }
        if ((i.types[2].array[1] & 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");
        }
        if (operand_check != check_none) {
          cVar27 = (check_kind)(i.op[0].regs)->reg_num;
          if (((i.op[0].regs)->reg_flags & 1) != 0) {
            cVar27 = cVar27 + 8;
          }
          if (((i.op[0].regs)->reg_flags & 4) != 0) {
            cVar27 = cVar27 + 0x10;
          }
          bVar26 = (i.index_reg)->reg_flags;
          cVar25 = (check_kind)bVar26;
          local_d4 = (check_kind)(i.index_reg)->reg_num;
          if ((bVar26 & 1) != 0) {
            local_d4 = local_d4 + 8;
          }
          if ((bVar26 & 4) != 0) {
            local_d4 = local_d4 + 0x10;
          }
          if (local_d4 != cVar27) {
            cVar25 = (check_kind)(i.op[2].regs)->reg_num;
            if (((i.op[2].regs)->reg_flags & 1) != 0) {
              cVar25 = cVar25 + 8;
            }
            if (((i.op[2].regs)->reg_flags & 4) != 0) {
              cVar25 = cVar25 + 0x10;
            }
            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;
          }
          if (operand_check == check_error) goto LAB_0004ddd8;
          pcVar24 = "mask, index, and destination registers should be distinct";
          goto LAB_0004cd9e;
        }
      }
      else {
        if (i.mask == (Mask_Operation *)0x0) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");
        }
        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&
           ((i.types[1].array[1] & 0x38) != 0)) {
          uVar33 = (uint)(i.op[1].regs)->reg_num;
          if (((i.op[1].regs)->reg_flags & 1) != 0) {
            uVar33 = uVar33 + 8;
          }
          if (((i.op[1].regs)->reg_flags & 4) != 0) {
            uVar33 = uVar33 + 0x10;
          }
          uVar21 = (uint)(i.index_reg)->reg_num;
          if (((i.index_reg)->reg_flags & 1) != 0) {
            uVar21 = uVar21 + 8;
          }
          if (((i.index_reg)->reg_flags & 4) != 0) {
            uVar21 = uVar21 + 0x10;
          }
          if (uVar21 == uVar33) {
            if (operand_check == check_error) {
LAB_0004ddd8:
              i.error = invalid_vector_register_set;
              local_e0 = invalid_vector_register_set;
              goto LAB_0004ba48;
            }
            if (operand_check == check_none) goto LAB_0004c71a;
            pcVar24 = "index and destination registers should be distinct";
            cVar25 = operand_check;
LAB_0004cd9e:
            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);
            as_warn(pcVar24);
          }
        }
LAB_0004c71a:
        uVar33 = i.operands;
        bVar26 = (t->opcode_modifier).field_0x7;
        if (i.broadcast != (Broadcast_Operation *)0x0) {
          if ((bVar26 & 0x20) != 0) {
            local_d4 = (i.broadcast)->operand;
            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);
            if ((bVar19 & 0x10) != 0) {
              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);
              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);
              if ((bVar2 & 0x40) == 0) {
                if (cVar3 < '\0') {
                  iVar20 = 4;
                  if ((char)bVar19 < '\0') goto LAB_0004c78c;
                }
                else {
                  iVar20 = 8;
                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;
                }
              }
              else {
                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;
LAB_0004c78c:
                iVar20 = iVar20 * (i.broadcast)->type;
                if (iVar20 == 0x10) {
                  uVar21 = 8;
                }
                else if (iVar20 < 0x11) {
                  uVar21 = 2;
                  if (iVar20 != 8) goto LAB_0004c7c9;
                }
                else if (iVar20 == 0x20) {
                  uVar21 = 0x10;
                }
                else {
                  uVar21 = 0x20;
                  if (iVar20 != 0x40) goto LAB_0004c7c9;
                }
                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {
                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {
                    uVar35 = 0;
                    do {
                      if (local_d4 != uVar35) {
                        iVar20 = uVar35 * 8;
                        uVar31 = i.types[uVar35].array[0];
                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);
                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);
                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);
                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);
                        if (((((uVar31 & 5) != 0) ||
                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&
                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&
                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&
                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||
                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&
                           ((((((bVar2 >> 5 & 1 &
                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||
                               ((bVar2 >> 6 & 1 &
                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||
                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')
                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||
                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||
                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||
                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;
                      }
                      uVar35 = uVar35 + 1;
                    } while (uVar35 != i.operands);
                  }
                  goto LAB_0004d08c;
                }
              }
            }
          }
LAB_0004c7c9:
          i.error = unsupported_broadcast;
          local_e0 = unsupported_broadcast;
          goto LAB_0004ba48;
        }
        if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {
          local_d4 = 4;
        }
        else {
          if (i.operands == 0) {
LAB_0004cfed:
                    /* WARNING: Subroutine does not return */
            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");
          }
          if ((i.types[0].array[0] & 0x5f0000) == 0) {
            uVar21 = 0;
            do {
              local_d4 = uVar21 + 1;
              if (local_d4 == i.operands) goto LAB_0004cfed;
              iVar20 = uVar21 * 8;
              uVar21 = local_d4;
            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);
          }
          else {
            local_d4 = 0;
          }
          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {
            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;
          }
          else {
            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;
          }
          if (bVar19 != 0) {
            i.error = broadcast_needed;
            local_e0 = broadcast_needed;
            goto LAB_0004ba48;
          }
        }
LAB_0004d08c:
        if (i.mask != (Mask_Operation *)0x0) {
          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {
            i.error = unsupported_masking;
            local_e0 = unsupported_masking;
            goto LAB_0004ba48;
          }
          if ((i.mask)->operand != i.operands - 1) {
            i.error = mask_not_on_destination;
            local_e0 = mask_not_on_destination;
            goto LAB_0004ba48;
          }
        }
        if (i.rounding != (RC_Operation *)0x0) {
          if ((i.rounding)->type == saeonly) {
            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;
          }
          else if ((bVar26 & 0x40) == 0) {
LAB_0004dd1c:
            i.error = unsupported_rc_sae;
            local_e0 = unsupported_rc_sae;
            goto LAB_0004ba48;
          }
          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {
            i.error = rc_sae_operand_not_last_imm;
            local_e0 = rc_sae_operand_not_last_imm;
            goto LAB_0004ba48;
          }
        }
        bVar26 = (t->opcode_modifier).field_0x8;
        i.memshift = bVar26 & 7;
        if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {
          if (i.broadcast != (Broadcast_Operation *)0x0) {
            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<
                               0x1f) >> 0x1f) + 3;
          }
          if (i.operands != 0) {
            uVar21 = 0;
            do {
              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&
                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {
                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);
                uVar35 = (uint)peVar6->X_add_number;
                if (i.memshift == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");
                }
                bVar26 = (byte)i.memshift;
                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {
                  uVar30 = iVar20 >> (bVar26 & 0x1f);
                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);
                  uVar31 = uVar30;
                  if ((i.memshift & 0x20) != 0) {
                    uVar31 = (int)uVar30 >> 0x1f;
                    uVar35 = uVar30;
                  }
                  iVar20 = uVar31 + (0xffffff7f < uVar35);
                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {
                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);
                    *pbVar1 = *pbVar1 | 1;
                    goto LAB_0004d657;
                  }
                }
                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);
                *pbVar1 = *pbVar1 & 0xfe;
              }
              uVar21 = uVar21 + 1;
            } while (uVar21 != uVar33);
          }
        }
        i.memshift = 0;
      }
LAB_0004d657:
      if (i.vec_encoding == Cpu486) {
        if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;
      }
      else {
        if (((t->opcode_modifier).field_0x5 & 6) != 0) {
          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;
          if (((i.op[0].disps)->field_0x10 == '\x02') &&
             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&
              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {
            i.types[0].array[0] = 0;
            i.types[0].array[1] = 0x100;
            piVar22 = current_templates->end;
            goto LAB_0004bec6;
          }
          i.error = bad_imm4;
          local_e0 = bad_imm4;
          goto LAB_0004ba48;
        }
        if (i.vec_encoding == Cpu186) {
LAB_0004d671:
          piVar22 = current_templates->end;
          goto LAB_0004bec6;
        }
      }
LAB_0004cc2a:
      i.error = unsupported;
      local_e0 = unsupported;
      goto LAB_0004ba48;
    }
  }
LAB_0004cef0:
  i.error = invalid_vsib_address;
  local_e0 = invalid_vsib_address;
LAB_0004ba48:
  piVar22 = current_templates->end;
  piVar32 = t + 1;
  if (piVar22 <= t + 1) goto LAB_0004bec0;
  goto LAB_0004ba5c;
LAB_0004bec0:
  t = t + 1;
LAB_0004bec6:
  if (piVar22 == t) {
    if (local_e0 == operand_size_mismatch) {
      local_e0 = i.error;
    }
    switch(local_e0) {
    case operand_size_mismatch:
      pcVar24 = "operand size mismatch";
      break;
    case operand_type_mismatch:
      pcVar24 = "operand type mismatch";
      break;
    case register_type_mismatch:
      pcVar24 = "register type mismatch";
      break;
    case number_of_operands_mismatch:
      goto _L3098;
    case invalid_instruction_suffix:
      pcVar24 = "invalid instruction suffix";
      break;
    case bad_imm4:
      pcVar24 = "constant doesn\'t fit in 4 bits";
      break;
    case unsupported_with_intel_mnemonic:
      pcVar24 = "unsupported with Intel mnemonic";
      break;
    case unsupported_syntax:
      pcVar24 = "unsupported syntax";
      break;
    case unsupported:
      pcVar23 = current_templates->start->name;
      pcVar24 = (char *)0x5;
      format = (char *)dcgettext(0,"unsupported instruction `%s\'",5);
      goto LAB_0004ca4e;
    case invalid_vsib_address:
      pcVar24 = "invalid VSIB address";
      break;
    case invalid_vector_register_set:
      pcVar24 = "mask, index, and destination registers must be distinct";
      break;
    case unsupported_vector_index_register:
      pcVar24 = "unsupported vector index register";
      break;
    case unsupported_broadcast:
      pcVar24 = "unsupported broadcast";
      break;
    case broadcast_not_on_src_operand:
      pcVar24 = "broadcast not on source memory operand";
      break;
    case broadcast_needed:
      pcVar24 = "broadcast is needed for operand of such type";
      break;
    case unsupported_masking:
      pcVar24 = "unsupported masking";
      break;
    case mask_not_on_destination:
      pcVar24 = "mask not on destination operand";
      break;
    case no_default_mask:
      pcVar24 = "default mask isn\'t allowed";
      break;
    case unsupported_rc_sae:
      pcVar24 = "unsupported static rounding/sae";
      break;
    case rc_sae_operand_not_last_imm:
      if (intel_syntax == 0) {
        pcVar24 = "RC/SAE operand must follow immediate operands";
      }
      else {
        pcVar24 = "RC/SAE operand must precede immediate operands";
      }
      break;
    case invalid_register_operand:
      pcVar24 = "invalid register operand";
      break;
    default:
                    /* WARNING: Subroutine does not return */
      as_abort("../../gas/config/tc-i386.c",0x160d,"match_template");
    }
LAB_0004ca20:
    pcVar23 = (char *)dcgettext(0,pcVar24,5);
    pcVar24 = current_templates->start->name;
    format = (char *)dcgettext(0,"%s for `%s\'",5);
LAB_0004ca4e:
    as_bad(format,pcVar23,pcVar24);
    return (insn_template *)0x0;
  }
  if (quiet_warnings != 0) goto LAB_0004bf2b;
LAB_0004bed8:
  if (intel_syntax == 0) {
    if (((byte)i.types[0].array[0]._3_1_ >> 1 & 1) != ((byte)operand_types[0]._3_1_ >> 1 & 1)) {
      pcVar24 = t->name;
      pcVar23 = (char *)dcgettext(0,"indirect %s without `*\'",5);
      as_warn(pcVar23,pcVar24);
    }
  }
  if ((((t->opcode_modifier).field_0x4 & 0x10) != 0) &&
     ((char)(t->opcode_modifier).field_0x1 < '\0')) {
    pcVar24 = t->name;
    pcVar23 = (char *)dcgettext(0,"stand-alone `%s\' prefix",5);
    as_warn(pcVar23,pcVar24);
  }
LAB_0004bf2b:
  piVar32 = t;
  piVar34 = &i;
  for (iVar20 = 0x16; iVar20 != 0; iVar20 = iVar20 + -1) {
    (piVar34->tm).name = piVar32->name;
    piVar32 = (insn_template *)((int)piVar32 + (uint)bVar36 * -8 + 4);
    piVar34 = (i386_insn *)((int)piVar34 + ((uint)bVar36 * -2 + 1) * 4);
  }
  if (local_d8 != ~CODE_32BIT) {
    uVar5 = *(undefined4 *)((int)operand_types + local_d8 * 8 + 4);
    i.tm.operand_types[local_d8].array[0] = operand_types[local_d8].array[0];
    *(undefined4 *)((int)i.tm.operand_types + local_d8 * 8 + 4) = uVar5;
  }
  if (local_dc != 0) {
    i.tm.base_opcode = i.tm.base_opcode ^ local_dc;
    i.tm.operand_types[0].array[1] = operand_types[1].array[1];
    i.tm.operand_types[0].array[0] = operand_types[1].array[0];
    i.tm.operand_types[1].array[1] = operand_types[0].array[1];
    i.tm.operand_types[1].array[0] = operand_types[0].array[0];
  }
  return t;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined4 * __regparm3 FUN_0004b910(undefined1 param_1)

{
  int iVar1;
  byte *pbVar2;
  char cVar3;
  byte bVar4;
  uint uVar5;
  bool bVar6;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  bool bVar13;
  bool bVar14;
  bool bVar15;
  bool bVar16;
  byte bVar17;
  byte bVar18;
  int iVar19;
  uint uVar20;
  undefined4 *puVar21;
  undefined4 uVar22;
  int iVar23;
  int iVar24;
  undefined4 uVar25;
  char *pcVar26;
  undefined4 uVar27;
  uint uVar28;
  uint extraout_ECX;
  uint extraout_ECX_00;
  byte bVar29;
  uint uVar31;
  undefined4 *puVar32;
  undefined4 *puVar33;
  byte bVar34;
  int local_e0;
  uint local_dc;
  int local_d8;
  uint local_d4;
  uint local_d0;
  byte local_c8;
  byte local_c0;
  uint uStack_a4;
  uint uStack_a0;
  uint uStack_9c;
  uint uStack_98;
  uint uStack_94;
  uint uStack_90;
  byte local_8c;
  undefined4 local_44;
  uint local_40;
  uint local_3c;
  byte bStack_39;
  uint local_38;
  uint uStack_34;
  uint uStack_30;
  uint uStack_2c;
  uint uStack_28;
  uint uStack_24;
  uint uStack_20;
  undefined4 uStack_14;
  byte bVar30;
  
  uVar5 = DAT_000654f0;
  bVar34 = 0;
  uStack_14 = 0x4b919;
  bVar11 = false;
  bVar10 = false;
  bVar9 = false;
  bVar8 = false;
  bVar7 = false;
  bVar6 = false;
  if ((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)) {
    if (DAT_00088ff8 == 'b') {
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
      bVar6 = true;
    }
    else if (DAT_00088ff8 == 'w') {
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = true;
      bVar6 = false;
    }
    else if (DAT_00088ff8 == 's') {
      bVar11 = false;
      bVar10 = false;
      bVar9 = true;
      bVar8 = false;
      bVar7 = false;
      bVar6 = false;
    }
    else if (DAT_00088ff8 == 'l') {
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = true;
      bVar7 = false;
      bVar6 = false;
    }
    else if (DAT_00088ff8 == 'q') {
      bVar11 = false;
      bVar10 = true;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
      bVar6 = false;
    }
    else if (DAT_00088ff8 == '\x01') {
      bVar11 = true;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
      bVar6 = false;
    }
    bVar16 = false;
    bVar15 = false;
    bVar14 = false;
    bVar13 = false;
    bVar12 = false;
    if (DAT_00088ef4 != 0) goto LAB_0004b97b;
  }
  else {
LAB_0004b97b:
    bVar16 = false;
    bVar15 = false;
    bVar14 = false;
    bVar13 = false;
    bVar12 = false;
    switch(param_1) {
    case 0x62:
      bVar16 = false;
      bVar15 = false;
      bVar14 = false;
      bVar13 = false;
      bVar12 = true;
      break;
    case 0x6c:
      bVar16 = false;
      bVar15 = false;
      bVar14 = true;
      bVar13 = false;
      bVar12 = false;
      break;
    case 0x71:
      bVar16 = true;
      bVar15 = false;
      bVar14 = false;
      bVar13 = false;
      bVar12 = false;
      break;
    case 0x73:
      bVar16 = false;
      bVar15 = true;
      bVar14 = false;
      bVar13 = false;
      bVar12 = false;
      break;
    case 0x77:
      bVar16 = false;
      bVar15 = false;
      bVar14 = false;
      bVar13 = true;
      bVar12 = false;
    }
  }
  DAT_000890f8 = 3;
  puVar32 = (undefined4 *)*DAT_00088f88;
  if (puVar32 < (undefined4 *)DAT_00088f88[1]) {
    local_e0 = 0;
    local_dc = 0;
    puVar33 = puVar32;
LAB_0004ba5c:
    puVar32 = puVar33;
    local_d8 = -1;
    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;
    DAT_000890f8 = 8;
    iVar19 = FUN_00047980();
    if ((iVar19 != 3) ||
       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))
    goto LAB_0004ba48;
    DAT_000890f8 = 7;
    if (DAT_00088ef4 == 0) {
      bVar17 = *(byte *)((int)puVar32 + 0x2d);
      if ((bVar17 & 1) != 0) goto LAB_0004bea5;
      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;
LAB_0004bacf:
      if ((bVar17 & 4) != 0) goto LAB_0004bea5;
LAB_0004bad7:
      DAT_000890f8 = 4;
      bVar17 = *(byte *)((int)puVar32 + 0x26);
      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&
          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||
            (((bVar17 & 8) != 0 && (bVar8)))) ||
           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||
            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||
         ((((bVar17 & 2) != 0 && (bVar12)) ||
          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||
           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))
      goto LAB_0004bea5;
      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {
        iVar19 = DAT_00088ffc;
        if (DAT_00088ffc != 0) {
          iVar19 = 0;
          do {
            uVar28 = iVar19 + 0xe;
            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||
                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||
               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {
              iVar23 = iVar19 + 6;
              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&
                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&
                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||
                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&
                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||
                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&
                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||
                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||
                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||
                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&
                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&
                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||
                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&
                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||
                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&
                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||
                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&
                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&
                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||
                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&
                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||
                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&
                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||
                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&
                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||
                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||
                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||
                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&
                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||
                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&
                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {
LAB_0004bc40:
                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;
                if (DAT_00088ffc != 2) {
                    /* WARNING: Subroutine does not return */
                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);
                }
                uVar28 = 0;
                goto LAB_0004bc61;
              }
              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);
              if ((bVar17 & 0x10) != 0) {
                if (((((((bVar17 & 0x20) != 0) &&
                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||
                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&
                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||
                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&
                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||
                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&
                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||
                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&
                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||
                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&
                      ((DAT_000890cc == (int *)0x0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||
                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&
                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;
                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||
                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||
                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&
                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&
                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {
                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||
                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||
                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&
                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;
                }
                else {
                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];
                  uVar28 = (uint)bVar17;
                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))
                  goto LAB_0004bc40;
                }
              }
            }
            iVar19 = iVar19 + 1;
          } while (iVar19 != DAT_00088ffc);
          iVar19 = 0;
        }
      }
      else {
        iVar19 = 0;
      }
      goto LAB_0004c04c;
    }
    if (-1 < *(char *)(puVar32 + 0xb)) {
      bVar17 = *(byte *)((int)puVar32 + 0x2d);
      if (DAT_00088ef0 == 0) goto LAB_0004bacf;
LAB_0004bfcc:
      if ((bVar17 & 2) == 0) goto LAB_0004bad7;
    }
    goto LAB_0004bea5;
  }
  if (puVar32 == (undefined4 *)DAT_00088f88[1]) {
LAB_0004cbaa:
    pcVar26 = "number of operands mismatch";
    goto LAB_0004ca20;
  }
  if (DAT_00088ec0 != 0) {
    puVar33 = puVar32;
    puVar21 = &DAT_00088fa0;
    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {
      *puVar21 = *puVar33;
      puVar33 = puVar33 + 1;
      puVar21 = puVar21 + 1;
    }
    return puVar32;
  }
  local_d8 = -1;
  local_dc = 0;
  goto LAB_0004bed8;
LAB_0004bc61:
  if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||
     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {
    uVar20 = uVar28 ^ 1;
    iVar19 = uVar20 + 0xe;
    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&
          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||
         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&
          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||
        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&
         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||
       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&
         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||
        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&
         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;
  }
  if ((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0) {
    local_d4 = uVar28 ^ 1;
    iVar19 = local_d4 + 0xe;
    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&
          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||
         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&
          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||
        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&
          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||
         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&
           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||
          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&
            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||
           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&
            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))
           )))))))) ||
       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&
        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;
    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||
        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||
       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&
        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&
         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {
      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&
          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||
         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&
           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||
          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&
           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;
    }
    else {
      bVar17 = (&DAT_00088fa4)[iVar19 * 8];
      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))
      goto LAB_0004c4e4;
    }
  }
  if (uVar28 == 1) goto code_r0x0004be14;
  uVar28 = 1;
  goto LAB_0004bc61;
LAB_0004c4e4:
  DAT_000890f8 = 0;
  local_d8 = -1;
  goto LAB_0004ba48;
code_r0x0004be14:
  iVar19 = 0;
LAB_0004c04c:
  do {
    uVar28 = puVar32[iVar19 * 2 + 0xd];
    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];
    (&local_40)[iVar19 * 2] = uVar28;
    iVar19 = iVar19 + 1;
  } while (iVar19 != 5);
  if (DAT_00088ff8 == 'q') {
    if (DAT_00088f0c != 2) {
      if (DAT_00088ef4 == 0) {
        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;
      }
      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&
              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {
LAB_0004be5a:
        if ((local_44 & 6) != 0) {
          local_d4 = puVar32[1];
          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||
             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;
        }
        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {
LAB_0004bea5:
          local_d8 = -1;
          puVar21 = (undefined4 *)DAT_00088f88[1];
          puVar33 = puVar32 + 0x16;
          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;
          goto LAB_0004ba5c;
        }
      }
    }
LAB_0004c390:
    local_d4 = puVar32[1];
  }
  else {
    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;
    if (DAT_00088ef4 == 0) {
      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;
    }
    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||
            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))
    goto LAB_0004c390;
    if ((local_44 & 6) == 0) goto LAB_0004bea5;
    local_d4 = puVar32[1];
    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&
       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;
  }
LAB_0004c397:
  if (local_d4 == 0) {
    local_d8 = -1;
    puVar21 = (undefined4 *)DAT_00088f88[1];
    goto LAB_0004bec6;
  }
  local_d8 = -1;
  if (DAT_00089092 != '\0') {
    if (DAT_00088f0c == 1) {
      local_d8 = 0;
      do {
        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {
          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =
               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;
          goto LAB_0004c3ff;
        }
        local_d8 = local_d8 + 1;
      } while (local_d8 != 5);
    }
    else {
      local_d8 = DAT_00088f0c;
      if (DAT_00088f0c == 0) {
        do {
          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {
            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =
                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;
            goto LAB_0004c3ff;
          }
          local_d8 = local_d8 + 1;
        } while (local_d8 != 5);
      }
      else {
        local_d8 = -1;
        if (DAT_00088f0c != 2) goto LAB_0004c3ff;
        local_d8 = 0;
        do {
          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {
            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =
                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;
            goto LAB_0004c3ff;
          }
          local_d8 = local_d8 + 1;
        } while (local_d8 != 5);
      }
    }
    local_d8 = -1;
  }
LAB_0004c3ff:
  if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;
  local_d0 = 0;
  if ((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) {
    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;
    if (DAT_000890cc != (int *)0x0) {
      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));
    }
  }
  uVar20 = DAT_00089010 & local_44;
  bVar17 = (byte)(uVar20 >> 0x10);
  local_8c = (byte)(uVar20 >> 0x18);
  bVar29 = (byte)(DAT_00089010 >> 0x18);
  bVar18 = (byte)(DAT_00089018 >> 0x10);
  bVar30 = (byte)(DAT_00089018 >> 0x18);
  local_c8 = (byte)DAT_00089014;
  uVar28 = local_dc;
  switch(local_d4) {
  default:
    goto LAB_0004c685;
  case 1:
    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&
       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))
    goto LAB_0004c685;
    goto code_r0x0004c880;
  case 2:
    if (DAT_00088f0c == 2) {
      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&
         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;
    }
    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&
            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;
    if (DAT_000890d4 != 2) goto code_r0x0004c54a;
    bVar4 = *(byte *)(puVar32 + 9);
    if ((bVar4 & 1) == 0) goto code_r0x0004c538;
    goto code_r0x0004c7fc;
  case 3:
    break;
  case 4:
  case 5:
    goto code_r0x0004c54a;
  }
  if (DAT_000890d4 == 2) {
code_r0x0004c538:
    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;
  }
code_r0x0004c54a:
  if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&
     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&
       (uVar20 = DAT_00089018 & local_3c,
       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&
      (local_8c = (byte)(uVar20 >> 0x18),
      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {
    if ((local_d0 & 3) == 3) {
      if ((((DAT_00089010 & 5) != 0) ||
          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&
           ((local_44 & 4) != 0)))) &&
         ((((DAT_00089018 & 5) != 0 ||
           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&
            ((local_3c & 4) != 0)))) &&
          ((((char)(bVar30 ^ bVar29) < '\0' ||
            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&
           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||
             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||
               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||
              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||
            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||
              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||
             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {
        DAT_000890f8 = 2;
        goto code_r0x0004c7ec;
      }
    }
    if (local_d4 == 4) {
code_r0x0004d03b:
      uStack_98 = uRam0008902c & uStack_28;
      uStack_a4 = uRam00089028 & uStack_2c;
code_r0x0004d05d:
      uStack_9c = _DAT_00089024 & uStack_30;
      uStack_a0 = uStack_34 & _DAT_00089020;
    }
    else {
      if (local_d4 == 5) {
        uStack_94 = DAT_00089034 & uStack_20;
        uStack_90 = _DAT_00089030 & uStack_24;
        goto code_r0x0004d03b;
      }
      if (local_d4 == 3) goto code_r0x0004d05d;
    }
    if (local_d4 == 4) {
code_r0x0004d3b2:
      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||
          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {
        uVar20 = uRam00089028 >> 0x18;
        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);
        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&
            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {
          if ((((local_d0 & 10) == 10) &&
              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28
                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||
             (((local_d0 & 0xc) == 0xc &&
              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,
                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;
          goto code_r0x0004d445;
        }
      }
    }
    else if (local_d4 == 5) {
      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||
          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {
        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);
        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&
            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {
          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,
                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);
          if (iVar19 == 0) goto LAB_0004ba48;
          goto code_r0x0004d3b2;
        }
      }
    }
    else {
      if (local_d4 != 3) goto LAB_0004c685;
code_r0x0004d445:
      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||
          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {
        uVar20 = _DAT_00089020 >> 0x18;
        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);
        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&
            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {
          if ((((local_d0 & 5) == 5) &&
              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,
                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0
              )) || (((local_d0 & 6) == 6 &&
                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,
                                            uStack_30,uVar20,uVar20), iVar19 == 0))))
          goto LAB_0004ba48;
          goto LAB_0004c685;
        }
      }
    }
code_r0x0004c880:
    DAT_000890f8 = 1;
    goto LAB_0004ba48;
  }
  DAT_000890f8 = 1;
code_r0x0004c7ec:
  bVar4 = *(byte *)(puVar32 + 9);
  if ((bVar4 & 1) == 0) goto LAB_0004ba48;
code_r0x0004c7fc:
  uVar28 = DAT_00089010 & local_3c;
  if (((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&
      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))
  goto code_r0x0004c880;
  local_c0 = (byte)(uVar28 >> 0x18);
  if ((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||
        ((bVar29 ^ local_c0) & 2) != 0) ||
      (uVar28 = local_44 & DAT_00089018,
      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&
      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||
     (local_c0 = (byte)(uVar28 >> 0x18),
     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))
  goto code_r0x0004c880;
  if (local_d0 != 0) {
    if (((((DAT_00089010 & 5) != 0) ||
         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&
          ((local_3c & 4) != 0)))) &&
        (((DAT_00089018 & 5) != 0 ||
         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&
          ((local_44 & 4) != 0)))))) &&
       ((((char)(bVar29 ^ bVar30) < '\0' ||
         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&
        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||
         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||
             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||
            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||
           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||
            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||
          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {
      DAT_000890f8 = 2;
      goto LAB_0004ba48;
    }
  }
  local_dc = 0;
  if ((bVar4 & 1) != 0) {
    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;
  }
  uVar28 = local_dc | 8;
  if ((*(byte *)((int)puVar32 + 0x25) & 4) == 0) {
    uVar28 = local_dc;
  }
LAB_0004c685:
  local_dc = uVar28;
  if ((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||
       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&
     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))) {
    iVar19 = 0;
    do {
      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&
         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||
          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;
      iVar19 = iVar19 + 1;
    } while (puVar32[1] != iVar19);
  }
  bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30;
  if ((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0) {
    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {
      DAT_000890f8 = 0xb;
      local_e0 = 0xb;
      goto LAB_0004ba48;
    }
    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;
    goto LAB_0004c71a;
  }
  if ((*(byte *)(puVar32 + 0xb) & 8) != 0) {
LAB_0004c6f7:
    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {
      DAT_000890f8 = 0x11;
      local_e0 = 0x11;
      goto LAB_0004ba48;
    }
    if (bVar17 == 0) goto LAB_0004c71a;
  }
  if (DAT_00089078 != 0) {
    if (bVar17 == 0x10) {
      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;
    }
    else if (bVar17 == 0x20) {
      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;
    }
    else {
      if (bVar17 != 0x30) goto LAB_0004cef0;
      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;
    }
    if (bVar17 != 0) {
      if (DAT_00089000 == 2) {
        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;
        if ((DAT_00089010 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);
        }
        if ((DAT_00089014 & 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);
        }
        if ((_DAT_00089020 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);
        }
        if ((_DAT_00089024 & 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);
        }
        if (DAT_00080550 != 0) {
          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);
          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {
            uVar28 = uVar28 + 8;
          }
          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {
            uVar28 = uVar28 + 0x10;
          }
          bVar17 = *(byte *)(DAT_00089078 + 0xc);
          uVar20 = (uint)bVar17;
          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);
          if ((bVar17 & 1) != 0) {
            local_d4 = local_d4 + 8;
          }
          if ((bVar17 & 4) != 0) {
            local_d4 = local_d4 + 0x10;
          }
          if (local_d4 != uVar28) {
            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);
            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {
              uVar20 = uVar20 + 8;
            }
            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {
              uVar20 = uVar20 + 0x10;
            }
            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;
          }
          if (DAT_00080550 == 2) goto LAB_0004ddd8;
          pcVar26 = "mask, index, and destination registers should be distinct";
          goto LAB_0004cd9e;
        }
      }
      else {
        if (DAT_000890c4 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);
        }
        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {
          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);
          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {
            uVar28 = uVar28 + 8;
          }
          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {
            uVar28 = uVar28 + 0x10;
          }
          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);
          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {
            uVar20 = uVar20 + 8;
          }
          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {
            uVar20 = uVar20 + 0x10;
          }
          if (uVar20 == uVar28) {
            if (DAT_00080550 == 2) {
LAB_0004ddd8:
              DAT_000890f8 = 10;
              local_e0 = 10;
              goto LAB_0004ba48;
            }
            if (DAT_00080550 == 0) goto LAB_0004c71a;
            pcVar26 = "index and destination registers should be distinct";
            uVar20 = DAT_00080550;
LAB_0004cd9e:
            uVar27 = dcgettext(0,pcVar26,5,uVar20);
            FUN_0002bc80(uVar27);
          }
        }
LAB_0004c71a:
        iVar19 = DAT_00088ffc;
        bVar17 = *(byte *)((int)puVar32 + 0x2b);
        if (DAT_000890cc != (int *)0x0) {
          if ((bVar17 & 0x20) != 0) {
            local_d4 = DAT_000890cc[1];
            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);
            if ((bVar18 & 0x10) != 0) {
              iVar23 = local_d4 + 6;
              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);
              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {
                if (cVar3 < '\0') {
                  iVar24 = 4;
                  if ((char)bVar18 < '\0') goto LAB_0004c78c;
                }
                else {
                  iVar24 = 8;
                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;
                }
              }
              else {
                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;
LAB_0004c78c:
                iVar24 = iVar24 * *DAT_000890cc;
                if (iVar24 == 0x10) {
                  uVar28 = 8;
                }
                else if (iVar24 < 0x11) {
                  uVar28 = 2;
                  if (iVar24 != 8) goto LAB_0004c7c9;
                }
                else if (iVar24 == 0x20) {
                  uVar28 = 0x10;
                }
                else {
                  uVar28 = 0x20;
                  if (iVar24 != 0x40) goto LAB_0004c7c9;
                }
                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {
                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {
                    iVar24 = 0;
                    do {
                      if (local_d4 != iVar24) {
                        iVar1 = iVar24 * 8;
                        uVar20 = (&DAT_00089010)[iVar24 * 2];
                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);
                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);
                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);
                        if (((((uVar20 & 5) != 0) ||
                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&
                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&
                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&
                            (((puVar32[iVar23 * 2] & 4) != 0 &&
                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||
                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&
                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)
                                != 0 || ((bVar29 >> 6 & 1 &
                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||
                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||
                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||
                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||
                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||
                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;
                      }
                      iVar24 = iVar24 + 1;
                    } while (iVar24 != DAT_00088ffc);
                  }
                  goto LAB_0004d08c;
                }
              }
            }
          }
LAB_0004c7c9:
          DAT_000890f8 = 0xc;
          local_e0 = 0xc;
          goto LAB_0004ba48;
        }
        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {
          local_d4 = 4;
        }
        else {
          if (DAT_00088ffc == 0) {
LAB_0004cfed:
                    /* WARNING: Subroutine does not return */
            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);
          }
          if ((DAT_00089010 & 0x5f0000) == 0) {
            local_d4 = 0;
            do {
              local_d4 = local_d4 + 1;
              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;
            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);
          }
          else {
            local_d4 = 0;
          }
          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {
            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;
          }
          else {
            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;
          }
          if (bVar18 != 0) {
            DAT_000890f8 = 0xe;
            local_e0 = 0xe;
            goto LAB_0004ba48;
          }
        }
LAB_0004d08c:
        if (DAT_000890c4 != (int *)0x0) {
          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {
            DAT_000890f8 = 0xf;
            local_e0 = 0xf;
            goto LAB_0004ba48;
          }
          if (DAT_000890c4[2] != DAT_00088ffc + -1) {
            DAT_000890f8 = 0x10;
            local_e0 = 0x10;
            goto LAB_0004ba48;
          }
        }
        if (DAT_000890c8 != (int *)0x0) {
          if (*DAT_000890c8 == 4) {
            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;
          }
          else if ((bVar17 & 0x40) == 0) {
LAB_0004dd1c:
            DAT_000890f8 = 0x12;
            local_e0 = 0x12;
            goto LAB_0004ba48;
          }
          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {
            DAT_000890f8 = 0x13;
            local_e0 = 0x13;
            goto LAB_0004ba48;
          }
        }
        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;
        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {
          if (DAT_000890cc != (int *)0x0) {
            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f
                                 ) >> 0x1f) + 3;
          }
          if (DAT_00088ffc != 0) {
            iVar23 = 0;
            do {
              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&
                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {
                uVar28 = *(uint *)(iVar24 + 8);
                if (DAT_000890d0 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);
                }
                bVar17 = (byte)DAT_000890d0;
                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {
                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);
                  uVar28 = uVar28 >> (bVar17 & 0x1f) |
                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);
                  uVar20 = uVar31;
                  if ((DAT_000890d0 & 0x20) != 0) {
                    uVar20 = (int)uVar31 >> 0x1f;
                    uVar28 = uVar31;
                  }
                  iVar24 = uVar20 + (0xffffff7f < uVar28);
                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {
                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);
                    *pbVar2 = *pbVar2 | 1;
                    goto LAB_0004d657;
                  }
                }
                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);
                *pbVar2 = *pbVar2 & 0xfe;
              }
              iVar23 = iVar23 + 1;
            } while (iVar23 != iVar19);
          }
        }
        DAT_000890d0 = 0;
      }
LAB_0004d657:
      if (DAT_000890e4 == 3) {
        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;
      }
      else {
        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {
          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;
          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&
             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))
          {
            DAT_00089010 = 0;
            DAT_00089014 = 0x100;
            puVar21 = (undefined4 *)DAT_00088f88[1];
            goto LAB_0004bec6;
          }
          DAT_000890f8 = 5;
          local_e0 = 5;
          goto LAB_0004ba48;
        }
        if (DAT_000890e4 == 0) {
LAB_0004d671:
          puVar21 = (undefined4 *)DAT_00088f88[1];
          goto LAB_0004bec6;
        }
      }
LAB_0004cc2a:
      DAT_000890f8 = 8;
      local_e0 = 8;
      goto LAB_0004ba48;
    }
  }
LAB_0004cef0:
  DAT_000890f8 = 9;
  local_e0 = 9;
LAB_0004ba48:
  puVar21 = (undefined4 *)DAT_00088f88[1];
  puVar33 = puVar32 + 0x16;
  if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;
  goto LAB_0004ba5c;
LAB_0004bec0:
  puVar32 = puVar32 + 0x16;
LAB_0004bec6:
  if (puVar21 == puVar32) {
    if (local_e0 == 0) {
      local_e0 = DAT_000890f8;
    }
    switch(local_e0) {
    case 0:
      pcVar26 = "operand size mismatch";
      break;
    case 1:
      pcVar26 = "operand type mismatch";
      break;
    case 2:
      pcVar26 = "register type mismatch";
      break;
    case 3:
      goto LAB_0004cbaa;
    case 4:
      pcVar26 = "invalid instruction suffix";
      break;
    case 5:
      pcVar26 = "constant doesn\'t fit in 4 bits";
      break;
    case 6:
      pcVar26 = "unsupported with Intel mnemonic";
      break;
    case 7:
      pcVar26 = "unsupported syntax";
      break;
    case 8:
      uVar22 = *(undefined4 *)*DAT_00088f88;
      uVar27 = 5;
      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);
      goto code_r0x0004ca4e;
    case 9:
      pcVar26 = "invalid VSIB address";
      break;
    case 10:
      pcVar26 = "mask, index, and destination registers must be distinct";
      break;
    case 0xb:
      pcVar26 = "unsupported vector index register";
      break;
    case 0xc:
      pcVar26 = "unsupported broadcast";
      break;
    case 0xd:
      pcVar26 = "broadcast not on source memory operand";
      break;
    case 0xe:
      pcVar26 = "broadcast is needed for operand of such type";
      break;
    case 0xf:
      pcVar26 = "unsupported masking";
      break;
    case 0x10:
      pcVar26 = "mask not on destination operand";
      break;
    case 0x11:
      pcVar26 = "default mask isn\'t allowed";
      break;
    case 0x12:
      pcVar26 = "unsupported static rounding/sae";
      break;
    case 0x13:
      if (DAT_00088ef4 == 0) {
        pcVar26 = "RC/SAE operand must follow immediate operands";
      }
      else {
        pcVar26 = "RC/SAE operand must precede immediate operands";
      }
      break;
    case 0x14:
      pcVar26 = "invalid register operand";
      break;
    default:
                    /* WARNING: Subroutine does not return */
      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);
    }
LAB_0004ca20:
    uVar22 = dcgettext(0,pcVar26,5);
    uVar27 = *(undefined4 *)*DAT_00088f88;
    uVar25 = dcgettext(0,"%s for `%s\'",5);
code_r0x0004ca4e:
    FUN_0002bd60(uVar25,uVar22,uVar27);
    return (undefined4 *)0x0;
  }
  if (DAT_00088ec0 != 0) goto LAB_0004bf2b;
LAB_0004bed8:
  if (DAT_00088ef4 == 0) {
    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {
      uVar27 = *puVar32;
      uVar22 = dcgettext(0,"indirect %s without `*\'",5);
      FUN_0002bc80(uVar22,uVar27);
    }
  }
  if (((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')) {
    uVar27 = *puVar32;
    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);
    FUN_0002bc80(uVar22,uVar27);
  }
LAB_0004bf2b:
  puVar33 = puVar32;
  puVar21 = &DAT_00088fa0;
  for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {
    *puVar21 = *puVar33;
    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;
    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;
  }
  if (local_d8 != -1) {
    uVar5 = (&local_40)[local_d8 * 2];
    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];
    (&DAT_00088fd4)[local_d8 * 2] = uVar5;
  }
  if (local_dc != 0) {
    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;
    DAT_00088fd4 = local_38;
    _DAT_00088fd0 = local_3c;
    DAT_00088fdc = local_40;
    DAT_00088fd8 = local_44;
  }
  return puVar32;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x346e7
SUB ESP,0xdc
MOV dword ptr [ESP + 0x90],0x0
MOV dword ptr [ESP + 0x94],0x0
MOV dword ptr [ESP + 0x98],0x0
MOV EDX,dword ptr [EBX + 0x8ef4]
TEST EDX,EDX
JZ 0x0004b990
MOV ESI,dword ptr [EBX + 0x90cc]
TEST ESI,ESI
JZ 0x0004b990
MOV dword ptr [ESP + 0x9c],0x0
MOV dword ptr [ESP + 0xa0],0x0
MOV dword ptr [ESP + 0xa4],0x0
SUB EAX,0x62
CMP AL,0x15
JA 0x0004ba00
MOVZX EAX,AL
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfffe4cb0]
ADD ECX,EBX
JMP ECX
MOVZX ECX,byte ptr [EBX + 0x8ff8]
CMP CL,0x62
JZ 0x0004b9cf
CMP CL,0x77
JZ 0x0004c8ac
CMP CL,0x73
JZ 0x0004c0f8
CMP CL,0x6c
JZ 0x0004c8c3
CMP CL,0x71
JZ 0x0004cbd8
CMP CL,0x1
JNZ 0x0004b9d7
OR byte ptr [ESP + 0x92],0x40
JMP 0x0004b9d7
OR byte ptr [ESP + 0x92],0x2
MOV dword ptr [ESP + 0x9c],0x0
MOV dword ptr [ESP + 0xa0],0x0
MOV dword ptr [ESP + 0xa4],0x0
TEST EDX,EDX
JNZ 0x0004b97b
MOV dword ptr [EBX + 0x90f8],0x3
MOV EAX,dword ptr [EBX + 0x8f88]
MOV EBP,dword ptr [EAX]
CMP EBP,dword ptr [EAX + 0x4]
JNC 0x0004cc42
MOV EAX,dword ptr [EBX + 0xfffe54f0]
LEA ESI,[0x8fa0]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,ESI
MOV ESI,EBP
MOV EBP,EAX
JMP 0x0004ba5c
MOV EDX,dword ptr [EBX + 0x8f88]
ADD ESI,0x58
MOV EAX,dword ptr [EDX + 0x4]
CMP EAX,ESI
JBE 0x0004bec0
MOV EDI,0xffffffff
MOV EAX,dword ptr [ESI + 0x4]
CMP dword ptr [EBP + EBX*0x1 + 0x5c],EAX
JNZ 0x0004ba48
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x8
MOV EAX,ESI
CALL 0x00047980
CMP EAX,0x3
JNZ 0x0004ba48
MOV ECX,dword ptr [EBX + 0x8eec]
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x6
TEST ECX,ECX
JZ 0x0004ba9c
TEST byte ptr [ESI + 0x2c],0x40
JNZ 0x0004ba48
MOV EDI,dword ptr [EBX + 0x8ef4]
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x7
TEST EDI,EDI
JNZ 0x0004bfb0
MOVZX EAX,byte ptr [ESI + 0x2d]
TEST AL,0x1
JNZ 0x0004bea0
MOV EDX,dword ptr [EBX + 0x8ef0]
TEST EDX,EDX
JNZ 0x0004bfcc
TEST AL,0x4
JNZ 0x0004bea0
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x4
MOVZX EAX,byte ptr [ESI + 0x26]
MOV EDX,EAX
AND EDX,0x2
TEST EDI,EDI
JZ 0x0004baf5
CMP byte ptr [ESI + 0x25],0x0
JS 0x0004bb61
TEST DL,DL
JZ 0x0004bb07
TEST byte ptr [ESP + 0x92],0x2
JNZ 0x0004bea0
TEST AL,0x4
JZ 0x0004bb19
TEST byte ptr [ESP + 0x92],0x4
JNZ 0x0004bea0
TEST AL,0x8
JZ 0x0004bb2b
TEST byte ptr [ESP + 0x92],0x8
JNZ 0x0004bea0
TEST AL,0x10
JZ 0x0004bb3d
TEST byte ptr [ESP + 0x92],0x10
JNZ 0x0004bea0
TEST AL,0x20
JZ 0x0004bb4f
TEST byte ptr [ESP + 0x92],0x20
JNZ 0x0004bea0
TEST AL,0x40
JZ 0x0004bb61
TEST byte ptr [ESP + 0x92],0x40
JNZ 0x0004bea0
TEST DL,DL
JZ 0x0004bb73
TEST byte ptr [ESP + 0x9e],0x2
JNZ 0x0004bea0
TEST AL,0x4
JZ 0x0004bb85
TEST byte ptr [ESP + 0x9e],0x4
JNZ 0x0004bea0
TEST AL,0x8
JZ 0x0004bb97
TEST byte ptr [ESP + 0x9e],0x8
JNZ 0x0004bea0
TEST AL,0x10
JZ 0x0004bba9
TEST byte ptr [ESP + 0x9e],0x10
JNZ 0x0004bea0
TEST AL,0x20
JZ 0x0004bbbb
TEST byte ptr [ESP + 0x9e],0x20
JNZ 0x0004bea0
TEST AL,0x40
JZ 0x0004bbcd
TEST byte ptr [ESP + 0x9e],0x40
JNZ 0x0004bea0
TEST word ptr [ESI + 0x24],0x1e0
JNZ 0x0004c03d
MOV ECX,dword ptr [EBP + EBX*0x1 + 0x5c]
TEST ECX,ECX
JZ 0x0004c03f
MOV EAX,dword ptr [EBP + EBX*0x1 + 0x12c]
MOV dword ptr [ESP + 0x18],ECX
MOV dword ptr [ESP + 0x20],EDI
MOV dword ptr [ESP + 0x24],EAX
XOR EAX,EAX
MOV EDI,EAX
LEA EAX,[EDI + 0xe]
MOVZX EDX,byte ptr [EBX + EAX*0x8 + 0x8fa0]
TEST DL,0x1
JZ 0x0004c890
LEA EDX,[EDI + 0x6]
TEST byte ptr [ESI + EDX*0x8],0x1
JZ 0x0004c18c
TEST byte ptr [EBX + EAX*0x8 + 0x8fa3],0x20
JZ 0x0004c146
TEST byte ptr [ESI + EDX*0x8 + 0x3],0x20
JNZ 0x0004c146
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EDI,dword ptr [ESP + 0x20]
MOV ECX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + 0x24],0x1
JZ 0x0004c4e4
CMP ECX,0x2
JNZ 0x0004dc5b
MOV dword ptr [ESP + 0x1c],EDI
XOR ECX,ECX
LEA EAX,[ECX + 0x6]
TEST byte ptr [ESI + EAX*0x8],0x1
JNZ 0x0004bc71
TEST byte ptr [ESI + EAX*0x8 + 0x2],0x20
JZ 0x0004bcdd
MOV EAX,ECX
XOR EAX,0x1
LEA EDX,[EAX + 0xe]
TEST byte ptr [EBX + EDX*0x8 + 0x8fa3],0x20
JZ 0x0004bc91
LEA EDI,[EAX + 0x6]
TEST byte ptr [ESI + EDI*0x8 + 0x3],0x20
JZ 0x0004c4e4
TEST byte ptr [EBX + EDX*0x8 + 0x8fa3],0x40
JZ 0x0004bca9
LEA EDI,[EAX + 0x6]
TEST byte ptr [ESI + EDI*0x8 + 0x3],0x40
JZ 0x0004c4e4
CMP byte ptr [EBX + EDX*0x8 + 0x8fa3],0x0
JS 0x0004c91c
TEST byte ptr [EBX + EDX*0x8 + 0x8fa4],0x2
JNZ 0x0004c94f
TEST byte ptr [EBX + EDX*0x8 + 0x8fa4],0x4
JZ 0x0004bcdd
ADD EAX,0x6
TEST byte ptr [ESI + EAX*0x8 + 0x4],0x4
JZ 0x0004c4e4
LEA EAX,[ECX + 0xe]
TEST byte ptr [EBX + EAX*0x8 + 0x8fa3],0x10
JZ 0x0004be0b
MOV EAX,ECX
XOR EAX,0x1
LEA EDX,[EAX + 0xe]
TEST byte ptr [EBX + EDX*0x8 + 0x8fa3],0x20
JZ 0x0004c900
ADD EAX,0x6
MOV dword ptr [ESP + 0x18],EAX
TEST byte ptr [ESI + EAX*0x8 + 0x3],0x20
JZ 0x0004c4e4
TEST byte ptr [EBX + EDX*0x8 + 0x8fa3],0x40
JZ 0x0004bd2f
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + EAX*0x8 + 0x3],0x40
JZ 0x0004c4e4
CMP byte ptr [EBX + EDX*0x8 + 0x8fa3],0x0
JNS 0x0004bd48
MOV EAX,dword ptr [ESP + 0x18]
CMP byte ptr [ESI + EAX*0x8 + 0x3],0x0
JNS 0x0004c4e4
TEST byte ptr [EBX + EDX*0x8 + 0x8fa4],0x2
JZ 0x0004bd61
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + EAX*0x8 + 0x4],0x2
JZ 0x0004c4e4
TEST byte ptr [EBX + EDX*0x8 + 0x8fa4],0x4
JZ 0x0004bd7a
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + EAX*0x8 + 0x4],0x4
JZ 0x0004c4e4
TEST byte ptr [EBX + EDX*0x8 + 0x8fa4],0x40
JZ 0x0004bd90
MOV EAX,dword ptr [ESP + 0x24]
TEST EAX,EAX
JZ 0x0004cf20
TEST byte ptr [EBX + EDX*0x8 + 0x8fa4],0x1
JZ 0x0004bda9
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + EAX*0x8 + 0x4],0x1
JZ 0x0004c4e4
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + EAX*0x8],0x4
JZ 0x0004c49d
TEST byte ptr [ESI + 0x2b],0x20
JNZ 0x0004c49d
MOVZX EDI,byte ptr [ESI + EAX*0x8 + 0x3]
TEST EDI,0x20
JNZ 0x0004bdeb
TEST EDI,0x40
JNZ 0x0004bdeb
MOV EAX,EDI
TEST AL,AL
JS 0x0004bdeb
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + EAX*0x8 + 0x4],0x2
JZ 0x0004c49d
MOVZX EAX,byte ptr [EBX + EDX*0x8 + 0x8fa4]
TEST AL,0x8
JNZ 0x0004c4e4
TEST AL,0x10
JNZ 0x0004c4e4
TEST AL,0x20
JNZ 0x0004c4e4
CMP ECX,0x1
JNZ 0x0004c8b9
MOV EDI,dword ptr [ESP + 0x1c]
XOR ECX,ECX
JMP 0x0004c03f
CMP dword ptr [EBX + 0x8f0c],0x2
JZ 0x0004c390
TEST EDI,EDI
JZ 0x0004ce9a
CMP byte ptr [ESI + 0x25],0x0
JS 0x0004c390
MOV EAX,dword ptr [ESI]
CMP byte ptr [EAX],0x66
JNZ 0x0004be5a
MOV dword ptr [ESP + 0x18],EDX
CALL 0x00045bd0
MOV EDX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x0004c390
TEST byte ptr [ESP + 0xa8],0x6
JZ 0x0004be8c
MOV EAX,dword ptr [ESI + 0x4]
CMP EAX,0x1
MOV dword ptr [ESP + 0x18],EAX
SETA AL
MOVZX EAX,AL
MOVZX EAX,byte ptr [ESP + EAX*0x8 + 0xa8]
TEST AL,0x2
JNZ 0x0004c397
TEST AL,0x4
JNZ 0x0004c397
CMP dword ptr [ESI + 0x8],0xfc7
JNZ 0x0004bea0
CMP dword ptr [ESI + 0xc],0x1
JZ 0x0004c390
NOP
MOV EDI,0xffffffff
MOV EDX,dword ptr [EBX + 0x8f88]
ADD ESI,0x58
MOV EAX,dword ptr [EDX + 0x4]
CMP EAX,ESI
JA 0x0004ba5c
LEA ESI,[ESI]
MOV dword ptr [ESP + 0x14],EDI
MOV EBP,ESI
CMP EAX,EBP
JZ 0x0004bfe0
MOV EDI,dword ptr [EBX + 0x8ec0]
TEST EDI,EDI
JNZ 0x0004bf2b
MOV ESI,dword ptr [EBX + 0x8ef4]
TEST ESI,ESI
JNZ 0x0004bf21
MOVZX EDX,byte ptr [EBX + 0x9013]
MOVZX EAX,byte ptr [ESP + 0xab]
SHR DL,0x1
SHR AL,0x1
AND EDX,0x1
AND EAX,0x1
CMP DL,AL
JZ 0x0004bf21
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe3f24]
MOV ESI,dword ptr [EBP]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x0002bc80
ADD ESP,0x10
TEST byte ptr [EBP + 0x28],0x10
JNZ 0x0004c000
LEA EAX,[EBX + 0x8fa0]
MOV ECX,0x16
MOV ESI,EBP
MOV EDI,EAX
MOVSD.REP ES:EDI,ESI
MOV ECX,dword ptr [ESP + 0x14]
CMP ECX,-0x1
JZ 0x0004bf61
MOV ESI,dword ptr [ESP + ECX*0x8 + 0xa8]
MOV EDI,dword ptr [ESP + ECX*0x8 + 0xac]
MOV dword ptr [EBX + ECX*0x8 + 0x8fd0],ESI
MOV dword ptr [EBX + ECX*0x8 + 0x8fd4],EDI
MOV EAX,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x0004bfa3
MOV EDX,dword ptr [ESP + 0xb4]
XOR dword ptr [EBX + 0x8fa8],EAX
MOV EAX,dword ptr [ESP + 0xb0]
MOV dword ptr [EBX + 0x8fd4],EDX
MOV EDX,dword ptr [ESP + 0xac]
MOV dword ptr [EBX + 0x8fd0],EAX
MOV EAX,dword ptr [ESP + 0xa8]
MOV dword ptr [EBX + 0x8fdc],EDX
MOV dword ptr [EBX + 0x8fd8],EAX
ADD ESP,0xdc
MOV EAX,EBP
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP byte ptr [ESI + 0x2c],0x0
JS 0x0004bea0
MOV EDX,dword ptr [EBX + 0x8ef0]
MOVZX EAX,byte ptr [ESI + 0x2d]
TEST EDX,EDX
JZ 0x0004bacf
TEST AL,0x2
JZ 0x0004bad7
MOV EDI,0xffffffff
JMP 0x0004bea5
MOV EDI,dword ptr [ESP + 0xc]
TEST EDI,EDI
JZ 0x0004c031
MOV EAX,dword ptr [ESP + 0xc]
CMP EAX,0x14
JA 0x0004dc42
MOV EAX,dword ptr [EBX + EAX*0x4 + 0xfffe4d08]
ADD EAX,EBX
JMP EAX
CMP byte ptr [EBP + 0x25],0x0
JNS 0x0004bf2b
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe3f3c]
MOV ESI,dword ptr [EBP]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
POP ECX
POP EDI
PUSH ESI
PUSH EAX
CALL 0x0002bc80
ADD ESP,0x10
JMP 0x0004bf2b
MOV EAX,dword ptr [EBX + 0x90f8]
MOV dword ptr [ESP + 0xc],EAX
JMP 0x0004bfe8
XOR ECX,ECX
MOV dword ptr [ESP + 0x18],EBP
LEA EDX,[ESP + 0xa8]
MOV EAX,EDI
MOV EDI,dword ptr [ESI + ECX*0x8 + 0x30]
MOV EBP,dword ptr [ESI + ECX*0x8 + 0x34]
MOV dword ptr [EDX + ECX*0x8],EDI
MOV dword ptr [EDX + ECX*0x8 + 0x4],EBP
ADD ECX,0x1
CMP ECX,0x5
JNZ 0x0004c04c
MOV EBP,dword ptr [ESP + 0x18]
MOV EDI,EAX
MOVZX EAX,byte ptr [EBP + EBX*0x1 + 0x58]
CMP AL,0x71
JZ 0x0004be1f
CMP AL,0x6c
JNZ 0x0004c390
TEST byte ptr [EBX + 0x53c],0x4
JNZ 0x0004c390
TEST EDI,EDI
JZ 0x0004c36f
CMP byte ptr [ESI + 0x25],0x0
JS 0x0004c390
MOV EAX,dword ptr [ESI]
CMP byte ptr [EAX],0x66
JNZ 0x0004c0b9
MOV dword ptr [ESP + 0x18],EDX
CALL 0x00045bd0
MOV EDX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x0004c390
TEST byte ptr [ESP + 0xa8],0x6
JZ 0x0004bea0
MOV EAX,dword ptr [ESI + 0x4]
CMP EAX,0x1
MOV dword ptr [ESP + 0x18],EAX
SETA AL
MOVZX EAX,AL
MOVZX EAX,byte ptr [ESP + EAX*0x8 + 0xa8]
TEST AL,0x2
JNZ 0x0004c397
TEST AL,0x4
JNZ 0x0004c397
JMP 0x0004bea0
OR byte ptr [ESP + 0x92],0x10
JMP 0x0004b9d7
TEST byte ptr [EBX + EAX*0x8 + 0x8fa3],0x40
JZ 0x0004c15b
TEST byte ptr [ESI + EDX*0x8 + 0x3],0x40
JZ 0x0004bc40
CMP byte ptr [EBX + EAX*0x8 + 0x8fa3],0x0
JNS 0x0004c170
CMP byte ptr [ESI + EDX*0x8 + 0x3],0x0
JNS 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x2
JNZ 0x0004c90c
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x4
JNZ 0x0004c962
MOVZX ECX,byte ptr [ESI + EDX*0x8]
SHR CL,0x2
AND ECX,0x1
MOV byte ptr [ESP + 0x1c],CL
JZ 0x0004c1d4
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x8
JZ 0x0004c1b1
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x8
JZ 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x10
JZ 0x0004c1c6
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x10
JZ 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x20
JNZ 0x0004c8e0
TEST byte ptr [ESI + EDX*0x8 + 0x2],0x20
JZ 0x0004c272
TEST byte ptr [EBX + EAX*0x8 + 0x8fa3],0x20
JZ 0x0004c1f4
TEST byte ptr [ESI + EDX*0x8 + 0x3],0x20
JZ 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa3],0x40
JNZ 0x0004c8d0
CMP byte ptr [EBX + EAX*0x8 + 0x8fa3],0x0
JS 0x0004c92f
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x2
JNZ 0x0004c972
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x4
JZ 0x0004c233
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x4
JZ 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x8
JZ 0x0004c248
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x8
JZ 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x10
JZ 0x0004c25d
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x10
JZ 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x20
JZ 0x0004c272
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x20
JZ 0x0004bc40
MOVZX ECX,byte ptr [EBX + EAX*0x8 + 0x8fa3]
TEST CL,0x10
JZ 0x0004c357
AND ECX,0x20
JNZ 0x0004c8f0
TEST byte ptr [EBX + EAX*0x8 + 0x8fa3],0x40
JNZ 0x0004c93f
CMP byte ptr [EBX + EAX*0x8 + 0x8fa3],0x0
JNS 0x0004c2af
CMP byte ptr [ESI + EDX*0x8 + 0x3],0x0
JNS 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x2
JZ 0x0004c2c4
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x2
JZ 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x4
JZ 0x0004c2d9
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x4
JZ 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x40
JZ 0x0004c2ef
MOV ECX,dword ptr [ESP + 0x24]
TEST ECX,ECX
JZ 0x0004cf98
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x1
JZ 0x0004c304
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x1
JZ 0x0004bc40
CMP byte ptr [ESP + 0x1c],0x0
JZ 0x0004cc7d
TEST byte ptr [ESI + 0x2b],0x20
JNZ 0x0004cc7d
MOVZX ECX,byte ptr [ESI + EDX*0x8 + 0x3]
TEST CL,0x20
JNZ 0x0004c337
TEST CL,0x40
JNZ 0x0004c337
TEST CL,CL
JS 0x0004c337
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x2
JZ 0x0004cc7d
MOVZX EAX,byte ptr [EBX + EAX*0x8 + 0x8fa4]
TEST AL,0x8
JNZ 0x0004bc40
TEST AL,0x10
JNZ 0x0004bc40
TEST AL,0x20
JNZ 0x0004bc40
ADD EDI,0x1
CMP EDI,dword ptr [ESP + 0x18]
JNZ 0x0004bbfc
MOV EDI,dword ptr [ESP + 0x20]
XOR ECX,ECX
JMP 0x0004c03f
MOV EAX,dword ptr [ESI]
CMP byte ptr [EAX],0x66
JNZ 0x0004c0b9
MOV dword ptr [ESP + 0x18],EDX
CALL 0x00045bd0
MOV EDX,dword ptr [ESP + 0x18]
CMP EAX,0x2
JNZ 0x0004c0b9
MOV EAX,dword ptr [ESI + 0x4]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x0004d53f
CMP byte ptr [EBP + EBX*0x1 + 0xf2],0x0
MOV EDI,0xffffffff
JZ 0x0004c3ff
MOV EAX,dword ptr [EBX + 0x8f0c]
CMP EAX,0x1
JZ 0x0004c9f1
TEST EAX,EAX
JZ 0x0004c3e4
CMP EAX,0x2
JNZ 0x0004c3ff
XOR EAX,EAX
TEST byte ptr [ESP + EAX*0x8 + 0xaa],0x10
JNZ 0x0004d528
ADD EAX,0x1
CMP EAX,0x5
JNZ 0x0004c3cc
JMP 0x0004c3fa
TEST byte ptr [ESP + EAX*0x8 + 0xaa],0x4
JNZ 0x0004cbba
ADD EAX,0x1
CMP EAX,0x5
JNZ 0x0004c3e4
MOV EDI,0xffffffff
CMP dword ptr [EBP + EBX*0x1 + 0xc0],0x164
JZ 0x0004cc6b
MOVZX EAX,byte ptr [ESI + 0x25]
MOV dword ptr [ESP + 0x1c],0x0
MOV byte ptr [ESP + 0x68],AL
TEST AL,0x40
JZ 0x0004c44f
MOVZX ECX,byte ptr [ESP + 0x18]
MOV EAX,0x1
MOV EDX,EAX
SHL EDX,CL
LEA ECX,[EDX + -0x1]
MOV EDX,dword ptr [EBP + EBX*0x1 + 0x12c]
MOV dword ptr [ESP + 0x1c],ECX
TEST EDX,EDX
JZ 0x0004c44f
MOV ECX,dword ptr [EDX + 0x4]
SHL EAX,CL
NOT EAX
AND dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [EBX + 0x9010]
MOV EDX,dword ptr [ESP + 0xa8]
MOV ECX,dword ptr [EBX + 0x9014]
MOV dword ptr [ESP + 0x24],EDX
MOV EDX,dword ptr [ESP + 0xac]
MOV dword ptr [ESP + 0x2c],EAX
AND EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x30],ECX
AND ECX,EDX
MOV dword ptr [ESP + 0x44],EDX
MOV EDX,ECX
CMP EAX,0x5
JA 0x0004c685
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfffe4d5c]
ADD ECX,EBX
JMP ECX
TEST byte ptr [EBX + EDX*0x8 + 0x8fa4],0x8
JZ 0x0004c4b2
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + EAX*0x8 + 0x4],0x8
JZ 0x0004c4e4
TEST byte ptr [EBX + EDX*0x8 + 0x8fa4],0x10
JZ 0x0004c4c7
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + EAX*0x8 + 0x4],0x10
JZ 0x0004c4e4
TEST byte ptr [EBX + EDX*0x8 + 0x8fa4],0x20
JZ 0x0004be0b
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + EAX*0x8 + 0x4],0x20
JNZ 0x0004be0b
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x0
MOV EDI,0xffffffff
JMP 0x0004ba48
MOV EAX,dword ptr [ESI + 0x18]
AND EAX,dword ptr [EBX + 0xfffe537c]
MOV EDX,dword ptr [ESI + 0x1c]
MOV ECX,dword ptr [ESI + 0x14]
MOV dword ptr [ESP + 0x18],EAX
AND EDX,dword ptr [EBX + 0xfffe5380]
AND ECX,dword ptr [EBX + 0xfffe5378]
MOV EAX,dword ptr [EBX + 0xfffe5384]
TEST dword ptr [ESI + 0x20],EAX
JNZ 0x0004cbe5
TEST EDX,EDX
JNZ 0x0004cbe5
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x0004cbe5
TEST ECX,ECX
JNZ 0x0004cbe5
MOVZX EAX,byte ptr [ESI + 0x2a]
AND EAX,0x30
JNZ 0x0004ccc5
MOV EDX,dword ptr [EBP + EBX*0x1 + 0xd8]
TEST EDX,EDX
JZ 0x0004c6f1
TEST byte ptr [EDX + 0x8],0x38
JNZ 0x0004cf34
TEST byte ptr [ESI + 0x2c],0x8
JZ 0x0004c71a
MOV EDX,dword ptr [EBP + EBX*0x1 + 0x124]
TEST EDX,EDX
JZ 0x0004cf08
MOV EDX,dword ptr [EDX]
CMP byte ptr [EDX + 0xd],0x0
JZ 0x0004cf08
TEST AL,AL
JNZ 0x0004cccf
MOVZX EAX,byte ptr [ESI + 0x2b]
MOV ECX,dword ptr [EBP + EBX*0x1 + 0x12c]
MOV byte ptr [ESP + 0x24],AL
AND EAX,0x20
MOV dword ptr [ESP + 0x28],ECX
TEST ECX,ECX
JZ 0x0004cfa8
TEST AL,AL
JZ 0x0004c7c9
MOV EAX,dword ptr [ECX + 0x4]
LEA EDX,[EAX + 0xe]
MOV dword ptr [ESP + 0x18],EAX
MOVZX ECX,byte ptr [EBX + EDX*0x8 + 0x8fa3]
TEST CL,0x10
JZ 0x0004c7c9
ADD EAX,0x6
MOVZX EDX,byte ptr [EBX + EDX*0x8 + 0x8fa4]
MOV dword ptr [ESP + 0x30],EAX
MOVZX EAX,byte ptr [ESI + EAX*0x8 + 0x3]
MOV byte ptr [ESP + 0x1c],AL
SHR AL,0x7
TEST DL,0x40
JNZ 0x0004dbe9
TEST AL,AL
JZ 0x0004d6e4
MOV EAX,0x4
TEST CL,CL
JNS 0x0004c7c9
MOV ECX,dword ptr [ESP + 0x28]
IMUL EAX,dword ptr [ECX]
CMP EAX,0x10
JZ 0x0004dc10
JLE 0x0004d006
CMP EAX,0x20
JZ 0x0004dc38
MOV EDX,0x20
CMP EAX,0x40
JNZ 0x0004c7c9
MOV EAX,dword ptr [ESP + 0x30]
LEA EAX,[ESI + EAX*0x8]
MOV dword ptr [ESP + 0x2c],EAX
TEST dword ptr [EAX + 0x4],EDX
JNZ 0x0004d7df
MOV dword ptr [EBP + EBX*0x1 + 0x158],0xc
MOV dword ptr [ESP + 0xc],0xc
JMP 0x0004ba48
AND EDX,0x4
LEA EDX,[EDI + 0x6]
JNZ 0x0004bc13
CMP byte ptr [ESI + EDX*0x8 + 0x4],0x0
JNS 0x0004bc13
JMP 0x0004c357
OR byte ptr [ESP + 0x92],0x4
JMP 0x0004b9d7
MOV ECX,0x1
JMP 0x0004bc61
OR byte ptr [ESP + 0x92],0x8
JMP 0x0004b9d7
TEST byte ptr [ESI + EDX*0x8 + 0x3],0x40
JZ 0x0004bc40
JMP 0x0004c202
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x20
JZ 0x0004bc40
JMP 0x0004c1d4
TEST byte ptr [ESI + EDX*0x8 + 0x3],0x20
JZ 0x0004bc40
JMP 0x0004c28c
ADD EAX,0x6
MOV dword ptr [ESP + 0x18],EAX
JMP 0x0004bd16
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x2
JZ 0x0004bc40
JMP 0x0004c17e
LEA EDI,[EAX + 0x6]
CMP byte ptr [ESI + EDI*0x8 + 0x3],0x0
JNS 0x0004c4e4
JMP 0x0004bcb7
CMP byte ptr [ESI + EDX*0x8 + 0x3],0x0
JNS 0x0004bc40
JMP 0x0004c210
TEST byte ptr [ESI + EDX*0x8 + 0x3],0x40
JZ 0x0004bc40
JMP 0x0004c29a
LEA EDI,[EAX + 0x6]
TEST byte ptr [ESI + EDI*0x8 + 0x4],0x2
JZ 0x0004c4e4
JMP 0x0004bcc5
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x4
JZ 0x0004bc40
JMP 0x0004c18c
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x2
JZ 0x0004bc40
JMP 0x0004c21e
XOR EAX,EAX
TEST byte ptr [ESP + EAX*0x8 + 0xaa],0x2
JNZ 0x0004d557
ADD EAX,0x1
CMP EAX,0x5
JNZ 0x0004c9f3
JMP 0x0004c3fa
PUSH EAX
PUSH 0x0
CALL 0x000141a0
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,dword ptr [EBX + 0x8f88]
SUB ESP,0x4
MOV EAX,dword ptr [EAX]
MOV EDI,dword ptr [EAX]
LEA EAX,[EBX + 0xfffe3f18]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
ADD ESP,0xc
PUSH EDI
PUSH ESI
XOR EBP,EBP
PUSH EAX
CALL 0x0002bd60
ADD ESP,0x10
MOV EAX,EBP
ADD ESP,0xdc
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe3e3e]
PUSH 0x5
JMP 0x0004ca20
LEA EDX,[EDX + EAX*0x8]
MOV EDI,EAX
MOVZX EAX,byte ptr [EDX + 0x2]
AND EAX,0xfffffff9
OR EAX,0x2
MOV byte ptr [EDX + 0x2],AL
JMP 0x0004c3ff
OR byte ptr [ESP + 0x92],0x20
JMP 0x0004b9d7
MOVZX EAX,byte ptr [ESI + 0x18]
OR AL,byte ptr [EBX + 0x540]
TEST AL,0x8
JNZ 0x0004c6cf
MOV EDX,dword ptr [ESI + 0x4]
TEST EDX,EDX
JZ 0x0004c6cf
XOR EAX,EAX
JMP 0x0004cc16
AND ECX,0x8
JNZ 0x0004cc2a
ADD EAX,0x1
CMP EDX,EAX
JZ 0x0004c6cf
TEST byte ptr [ESI + EAX*0x8 + 0x34],0x20
JZ 0x0004cc0b
MOVZX ECX,byte ptr [EBX + EAX*0x8 + 0x9014]
TEST CL,0x10
JZ 0x0004cc06
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x8
MOV dword ptr [ESP + 0xc],0x8
JMP 0x0004ba48
JZ 0x0004cbaa
MOV EAX,dword ptr [EBX + 0x8ec0]
TEST EAX,EAX
JNZ 0x0004cec0
MOV dword ptr [ESP + 0x14],0xffffffff
MOV dword ptr [ESP + 0x10],0x0
JMP 0x0004bed8
CMP dword ptr [ESI + 0x8],0xa0
JNZ 0x0004c410
JMP 0x0004ba48
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x8
JZ 0x0004cc92
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x8
JZ 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x10
JZ 0x0004cca7
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x10
JZ 0x0004bc40
TEST byte ptr [EBX + EAX*0x8 + 0x8fa4],0x20
JZ 0x0004c357
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x20
JZ 0x0004bc40
JMP 0x0004c357
TEST byte ptr [ESI + 0x2c],0x8
JNZ 0x0004c6f7
MOV EDX,dword ptr [EBP + EBX*0x1 + 0xd8]
TEST EDX,EDX
JZ 0x0004cef0
CMP AL,0x10
JZ 0x0004d7d0
CMP AL,0x20
JZ 0x0004cee6
CMP AL,0x30
JNZ 0x0004cef0
TEST byte ptr [EDX + 0x8],0x20
JZ 0x0004cef0
MOV EAX,dword ptr [EBP + EBX*0x1 + 0x60]
MOV ECX,dword ptr [EBP + EBX*0x1 + 0x124]
CMP EAX,0x2
JZ 0x0004d6f7
TEST ECX,ECX
JZ 0x0004de3b
CMP EAX,0x1
JNZ 0x0004c71a
TEST byte ptr [EBX + 0x9018],0x4
JZ 0x0004c71a
TEST byte ptr [EBX + 0x901c],0x38
JZ 0x0004c71a
MOV EAX,dword ptr [EBP + EBX*0x1 + 0x9c]
MOVZX ECX,byte ptr [EAX + 0xc]
MOVZX EAX,byte ptr [EAX + 0xd]
TEST CL,0x1
JZ 0x0004cd56
ADD EAX,0x8
AND CL,0x4
JZ 0x0004cd5e
ADD EAX,0x10
MOVZX ECX,byte ptr [EDX + 0xc]
MOVZX EDX,byte ptr [EDX + 0xd]
TEST CL,0x1
JZ 0x0004cd6e
ADD EDX,0x8
AND CL,0x4
JZ 0x0004cd76
ADD EDX,0x10
CMP EDX,EAX
JNZ 0x0004c71a
MOV EAX,dword ptr [EBX + 0x550]
CMP EAX,0x2
JZ 0x0004ddd8
TEST EAX,EAX
JZ 0x0004c71a
PUSH EAX
LEA EAX,[EBX + 0xfffe2908]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002bc80
ADD ESP,0x10
JMP 0x0004c71a
MOV EAX,dword ptr [ESI]
CMP byte ptr [EAX],0x66
JNZ 0x0004be5a
MOV dword ptr [ESP + 0x18],EDX
CALL 0x00045bd0
MOV EDX,dword ptr [ESP + 0x18]
CMP EAX,0x2
JNZ 0x0004be5a
JMP 0x0004c390
LEA EAX,[EBX + 0x8fa0]
MOV ECX,0x16
MOV ESI,EBP
MOV EDI,EAX
MOVSD.REP ES:EDI,ESI
JMP 0x0004bfa3
TEST byte ptr [EDX + 0x8],0x10
JNZ 0x0004cd00
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x9
MOV dword ptr [ESP + 0xc],0x9
JMP 0x0004ba48
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x11
MOV dword ptr [ESP + 0xc],0x11
JMP 0x0004ba48
MOV EAX,dword ptr [ESP + 0x18]
TEST byte ptr [ESI + EAX*0x8 + 0x4],0x40
JZ 0x0004c4e4
JMP 0x0004bd90
MOV dword ptr [EBP + EBX*0x1 + 0x158],0xb
MOV dword ptr [ESP + 0xc],0xb
JMP 0x0004ba48
TEST byte ptr [ESI + EDX*0x8 + 0x4],0x40
JZ 0x0004bc40
JMP 0x0004c2ef
TEST AL,AL
JZ 0x0004d084
MOV EAX,dword ptr [EBP + EBX*0x1 + 0x68]
TEST EAX,EAX
JZ 0x0004d084
MOV EDX,dword ptr [EBP + EBX*0x1 + 0x5c]
TEST EDX,EDX
JZ 0x0004cfed
MOVZX EAX,word ptr [EBP + EBX*0x1 + 0x72]
TEST AL,0x5f
JNZ 0x0004ddbb
XOR EAX,EAX
JMP 0x0004cfe6
MOVZX ECX,word ptr [EBX + EAX*0x8 + 0x9012]
AND ECX,0x5f
JNZ 0x0004dd7d
ADD EAX,0x1
CMP EAX,EDX
JNZ 0x0004cfd5
LEA EAX,[EBX + 0xfffe5364]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0x141e
PUSH EAX
CALL 0x0002be80
MOV EDX,0x2
CMP EAX,0x8
JZ 0x0004c7b5
JMP 0x0004c7c9
MOV dword ptr [ESP + 0x18],0x4
MOV EDX,dword ptr [EBP + EBX*0x1 + 0x124]
TEST EDX,EDX
JZ 0x0004d0e8
MOVZX EAX,byte ptr [ESP + 0x24]
AND EAX,0x18
JZ 0x0004d0d0
MOV ECX,dword ptr [EDX + 0x4]
TEST ECX,ECX
JZ 0x0004d0ac
CMP AL,0x10
JZ 0x0004d0d0
MOV EAX,dword ptr [EBP + EBX*0x1 + 0x5c]
SUB EAX,0x1
CMP dword ptr [EDX + 0x8],EAX
JZ 0x0004d0e8
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x10
MOV dword ptr [ESP + 0xc],0x10
JMP 0x0004ba48
MOV dword ptr [EBP + EBX*0x1 + 0x158],0xf
MOV dword ptr [ESP + 0xc],0xf
JMP 0x0004ba48
MOV EDX,dword ptr [EBP + EBX*0x1 + 0x128]
TEST EDX,EDX
JZ 0x0004d56e
CMP dword ptr [EDX],0x4
JZ 0x0004dd0c
TEST byte ptr [ESP + 0x24],0x40
JZ 0x0004dd1c
MOV EAX,dword ptr [EBP + EBX*0x1 + 0x6c]
CMP EAX,0x1
JBE 0x0004d56e
SUB EAX,0x1
CMP dword ptr [EDX + 0x4],EAX
JZ 0x0004d56e
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x13
MOV dword ptr [ESP + 0xc],0x13
JMP 0x0004ba48
LEA EDX,[EDX + EAX*0x8]
MOV EDI,EAX
MOVZX EAX,byte ptr [EDX + 0x2]
AND EAX,0xffffffeb
OR EAX,0x4
MOV byte ptr [EDX + 0x2],AL
JMP 0x0004c3ff
MOV EDX,dword ptr [EBX + 0x8f88]
MOV EBP,ESI
MOV dword ptr [ESP + 0x14],0xffffffff
MOV EAX,dword ptr [EDX + 0x4]
JMP 0x0004bec6
LEA EDX,[EDX + EAX*0x8]
MOV EDI,EAX
MOVZX EAX,byte ptr [EDX + 0x2]
AND EAX,0xfffffff9
OR EAX,0x4
MOV byte ptr [EDX + 0x2],AL
JMP 0x0004c3ff
MOVZX EAX,byte ptr [ESI + 0x2c]
AND EAX,0x7
JZ 0x0004d64c
CMP dword ptr [EBP + EBX*0x1 + 0x138],0x2
JZ 0x0004d64c
CMP dword ptr [ESP + 0x28],0x0
JZ 0x0004de84
MOV EAX,dword ptr [ESP + 0x18]
MOVZX EAX,byte ptr [ESI + EAX*0x8 + 0x33]
SHR AL,0x7
SHL EAX,0x1f
SAR EAX,0x1f
ADD EAX,0x3
MOV dword ptr [EBP + EBX*0x1 + 0x130],EAX
MOV EAX,dword ptr [EBP + EBX*0x1 + 0x5c]
MOV dword ptr [ESP + 0x20],EAX
TEST EAX,EAX
JZ 0x0004d64c
XOR EAX,EAX
MOV dword ptr [ESP + 0x1c],ESI
MOV dword ptr [ESP + 0x18],EDI
MOV ESI,EAX
JMP 0x0004d5d9
ADD ESI,0x1
CMP ESI,dword ptr [ESP + 0x20]
JZ 0x0004d644
TEST byte ptr [EBX + ESI*0x8 + 0x9012],0x1f
JZ 0x0004d5d0
MOV EAX,dword ptr [EBX + ESI*0x4 + 0x9038]
CMP byte ptr [EAX + 0x10],0x2
JNZ 0x0004d5d0
MOV ECX,dword ptr [EBP + EBX*0x1 + 0x130]
MOV EDX,dword ptr [EAX + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
CMP ECX,-0x1
JZ 0x0004de54
MOV EDI,0x1
SHL EDI,CL
SUB EDI,0x1
AND EDI,EAX
JNZ 0x0004d63a
SHRD EAX,EDX,CL
SAR EDX,CL
TEST CL,0x20
JZ 0x0004d623
MOV EAX,EDX
SAR EDX,0x1f
ADD EAX,0x80
MOV ECX,0xff
ADC EDX,0x0
CMP ECX,EAX
SBB EDI,EDX
JNC 0x0004de6d
AND byte ptr [EBX + ESI*0x8 + 0x9012],0xfe
JMP 0x0004d5d0
MOV EDI,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x1c]
MOV dword ptr [EBP + EBX*0x1 + 0x130],0x0
MOV EAX,dword ptr [EBP + EBX*0x1 + 0x144]
CMP EAX,0x3
JZ 0x0004d685
TEST byte ptr [ESI + 0x29],0x6
JNZ 0x0004d691
TEST EAX,EAX
JNZ 0x0004cc2a
MOV EDX,dword ptr [EBX + 0x8f88]
MOV dword ptr [ESP + 0x14],EDI
MOV EBP,ESI
MOV EAX,dword ptr [EDX + 0x4]
JMP 0x0004bec6
CMP byte ptr [ESI + 0x2b],0x0
JZ 0x0004cc2a
JMP 0x0004d671
TEST byte ptr [ESI + 0x35],0x1
JZ 0x0004d671
MOV EDX,dword ptr [EBP + EBX*0x1 + 0x98]
CMP byte ptr [EDX + 0x10],0x2
JNZ 0x0004dbf8
MOV EAX,dword ptr [EDX + 0x8]
AND EAX,0xfffffff0
OR EAX,dword ptr [EDX + 0xc]
JNZ 0x0004dbf8
MOV EDX,dword ptr [EBX + 0x8f88]
MOV EAX,EBP
MOV dword ptr [ESP + 0x14],EDI
MOV EBP,ESI
MOV dword ptr [EAX + EBX*0x1 + 0x70],0x0
MOV dword ptr [EAX + EBX*0x1 + 0x74],0x0
OR byte ptr [EBX + 0x9015],0x1
MOV EAX,dword ptr [EDX + 0x4]
JMP 0x0004bec6
AND EDX,0x2
MOV EAX,0x8
JNZ 0x0004c78c
JMP 0x0004c7c9
TEST ECX,ECX
JNZ 0x0004c71a
TEST byte ptr [EBX + 0x9010],0x4
JZ 0x0004de22
TEST byte ptr [EBX + 0x9014],0x18
JZ 0x0004de09
TEST byte ptr [EBX + 0x9020],0x4
JZ 0x0004ddf0
TEST byte ptr [EBX + 0x9024],0x18
JZ 0x0004dc1a
MOV EAX,dword ptr [EBX + 0x550]
MOV dword ptr [ESP + 0x1c],EAX
TEST EAX,EAX
JZ 0x0004d657
MOV ECX,dword ptr [EBP + EBX*0x1 + 0x98]
MOVZX EAX,byte ptr [ECX + 0xc]
MOVZX ECX,byte ptr [ECX + 0xd]
TEST AL,0x1
JZ 0x0004d75b
ADD ECX,0x8
TEST AL,0x4
JZ 0x0004d762
ADD ECX,0x10
MOVZX EAX,byte ptr [EDX + 0xc]
MOVZX EDX,byte ptr [EDX + 0xd]
MOV dword ptr [ESP + 0x18],EDX
TEST AL,0x1
JZ 0x0004d779
ADD EDX,0x8
MOV dword ptr [ESP + 0x18],EDX
TEST AL,0x4
JZ 0x0004d782
ADD dword ptr [ESP + 0x18],0x10
CMP dword ptr [ESP + 0x18],ECX
JZ 0x0004d7b5
MOV EAX,dword ptr [EBP + EBX*0x1 + 0xa0]
MOVZX EDX,byte ptr [EAX + 0xc]
MOVZX EAX,byte ptr [EAX + 0xd]
TEST DL,0x1
JZ 0x0004d79f
ADD EAX,0x8
AND DL,0x4
JZ 0x0004d7a7
ADD EAX,0x10
CMP dword ptr [ESP + 0x18],EAX
JZ 0x0004d7b5
CMP ECX,EAX
JNZ 0x0004d657
CMP dword ptr [ESP + 0x1c],0x2
JZ 0x0004ddd8
PUSH EAX
LEA EAX,[EBX + 0xfffe28cc]
PUSH 0x5
JMP 0x0004cd9e
TEST byte ptr [EDX + 0x8],0x8
JZ 0x0004cef0
JMP 0x0004cd00
TEST byte ptr [ESI + 0x25],0x40
JZ 0x0004d08c
MOV EAX,dword ptr [EBP + EBX*0x1 + 0x5c]
MOV dword ptr [ESP + 0x34],EAX
TEST EAX,EAX
JZ 0x0004d08c
LEA EAX,[ESI + 0x30]
MOV dword ptr [ESP + 0x80],EDX
XOR ECX,ECX
MOV dword ptr [ESP + 0x7c],EAX
MOV EAX,EDX
AND EAX,0x40
MOV dword ptr [ESP + 0x20],EBP
MOV byte ptr [ESP + 0x85],AL
MOV dword ptr [ESP + 0x1c],EDI
MOV EDI,ECX
CMP dword ptr [ESP + 0x18],EDI
JZ 0x0004d9b2
LEA ECX,[EDI*0x8 + 0x0]
MOV EDX,dword ptr [ESI + EDI*0x8 + 0x30]
MOV EAX,dword ptr [ECX + EBX*0x1 + 0x9010]
MOV EBP,dword ptr [ECX + EBX*0x1 + 0x9014]
ADD ECX,dword ptr [ESP + 0x7c]
MOV dword ptr [ESP + 0x78],EDX
MOVZX EDX,byte ptr [ECX + 0x3]
SHR DL,0x5
AND EDX,0x1
MOV byte ptr [ESP + 0x70],DL
MOVZX EDX,byte ptr [ECX + 0x3]
SHR DL,0x6
AND EDX,0x1
MOV byte ptr [ESP + 0x6c],DL
MOVZX EDX,byte ptr [ECX + 0x3]
MOVZX ECX,byte ptr [ECX + 0x4]
SHR DL,0x7
MOV byte ptr [ESP + 0x84],DL
MOV EDX,ECX
SHR DL,0x1
AND EDX,0x1
MOV byte ptr [ESP + 0x6b],DL
MOV EDX,ECX
SHR DL,0x3
AND EDX,0x1
MOV byte ptr [ESP + 0x6a],DL
MOV EDX,ECX
SHR CL,0x5
AND ECX,0x1
SHR DL,0x4
MOV byte ptr [ESP + 0x64],CL
MOV ECX,dword ptr [ESP + 0x30]
AND EDX,0x1
MOV byte ptr [ESP + 0x69],DL
MOV ECX,dword ptr [ESI + ECX*0x8]
MOV dword ptr [ESP + 0x74],ECX
MOV ECX,dword ptr [ESP + 0x2c]
MOVZX ECX,byte ptr [ECX + 0x3]
MOV EDX,ECX
SHR DL,0x5
AND EDX,0x1
MOV byte ptr [ESP + 0x44],DL
MOV EDX,ECX
SHR CL,0x7
MOV byte ptr [ESP + 0x3c],CL
MOV ECX,dword ptr [ESP + 0x2c]
SHR DL,0x6
AND EDX,0x1
MOVZX ECX,byte ptr [ECX + 0x4]
MOV byte ptr [ESP + 0x60],DL
MOV EDX,ECX
SHR DL,0x1
AND EDX,0x1
MOV byte ptr [ESP + 0x40],DL
MOV EDX,ECX
SHR DL,0x3
AND EDX,0x1
MOV byte ptr [ESP + 0x68],DL
MOV EDX,ECX
SHR CL,0x5
SHR DL,0x4
AND ECX,0x1
AND EDX,0x1
MOV byte ptr [ESP + 0x38],DL
TEST AL,0x5
JNZ 0x0004d931
MOV EDX,EAX
SHR EDX,0x10
AND EDX,0x5f
JZ 0x0004d9b2
TEST EBP,0x40
JNZ 0x0004d9b2
TEST byte ptr [ESP + 0x78],0x4
JZ 0x0004d9b2
CMP byte ptr [ESP + 0x85],0x0
JNZ 0x0004d9b2
TEST byte ptr [ESP + 0x74],0x4
JZ 0x0004d9b2
SHR EAX,0x18
TEST AL,0x60
JNZ 0x0004d95a
TEST AL,AL
JS 0x0004d95a
MOV EAX,EBP
XOR EAX,dword ptr [ESP + 0x80]
TEST AL,0x3a
JZ 0x0004d9b2
MOVZX EDX,byte ptr [ESP + 0x70]
TEST byte ptr [ESP + 0x44],DL
JNZ 0x0004d9a5
MOVZX EDX,byte ptr [ESP + 0x6c]
TEST byte ptr [ESP + 0x60],DL
JNZ 0x0004d9a5
MOVZX EDX,byte ptr [ESP + 0x84]
TEST byte ptr [ESP + 0x3c],DL
JNZ 0x0004d9a5
MOVZX EDX,byte ptr [ESP + 0x6b]
TEST byte ptr [ESP + 0x40],DL
JNZ 0x0004d9a5
MOVZX EDX,byte ptr [ESP + 0x6a]
TEST byte ptr [ESP + 0x68],DL
JNZ 0x0004d9a5
MOVZX EDX,byte ptr [ESP + 0x69]
TEST byte ptr [ESP + 0x38],DL
JNZ 0x0004d9a5
TEST byte ptr [ESP + 0x64],CL
JZ 0x0004d9b2
MOV EDI,dword ptr [ESP + 0x1c]
MOV EBP,dword ptr [ESP + 0x20]
JMP 0x0004c7c9
ADD EDI,0x1
CMP EDI,dword ptr [ESP + 0x34]
JNZ 0x0004d81f
MOV EDI,dword ptr [ESP + 0x1c]
MOV EBP,dword ptr [ESP + 0x20]
JMP 0x0004d08c
CMP AL,0x1
SBB EAX,EAX
AND EAX,0x4
ADD EAX,0x4
JMP 0x0004c78c
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x5
MOV dword ptr [ESP + 0xc],0x5
JMP 0x0004ba48
MOV EDX,0x8
JMP 0x0004c7b5
PUSH EAX
LEA EAX,[EBX + 0xfffe5364]
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0x13b5
PUSH EAX
CALL 0x0002be80
MOV EDX,0x10
JMP 0x0004c7b5
LEA EAX,[EBX + 0xfffe539c]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0x160d
PUSH EAX
CALL 0x0002be80
PUSH EAX
LEA EAX,[EBX + 0xfffe5388]
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0x7e9
PUSH EAX
CALL 0x0002be80
MOVZX EAX,byte ptr [ESP + 0x24]
AND EAX,0xffffffc0
CMP AL,0x80
JZ 0x0004d10b
MOV dword ptr [EBP + EBX*0x1 + 0x158],0x12
MOV dword ptr [ESP + 0xc],0x12
JMP 0x0004ba48
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x18]
CMP byte ptr [ESI + EAX*0x8 + 0x33],0x0
JNS 0x0004ddc5
MOV EAX,dword ptr [ESP + 0x18]
MOVZX EAX,byte ptr [EBX + EAX*0x8 + 0x9013]
SHR AL,0x7
TEST AL,AL
JZ 0x0004d08c
MOV dword ptr [EBP + EBX*0x1 + 0x158],0xe
MOV dword ptr [ESP + 0xc],0xe
JMP 0x0004ba48
MOV dword ptr [ESP + 0x18],0x0
JMP 0x0004dd81
MOV EAX,dword ptr [ESP + 0x18]
MOVZX EAX,byte ptr [EBX + EAX*0x8 + 0x9014]
SHR AL,0x1
AND EAX,0x1
JMP 0x0004dd9b
MOV dword ptr [EBP + EBX*0x1 + 0x158],0xa
MOV dword ptr [ESP + 0xc],0xa
JMP 0x0004ba48
PUSH EAX
LEA EAX,[EBX + 0xfffe5364]
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0x13b3
PUSH EAX
CALL 0x0002be80
PUSH EAX
LEA EAX,[EBX + 0xfffe5364]
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0x13b2
PUSH EAX
CALL 0x0002be80
LEA EAX,[EBX + 0xfffe5364]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0x13b0
PUSH EAX
CALL 0x0002be80
LEA EAX,[EBX + 0xfffe5364]
PUSH ECX
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0x13ad
PUSH EAX
CALL 0x0002be80
PUSH EAX
LEA EAX,[EBX + 0xfffe53ac]
PUSH EAX
LEA EAX,[EBX + 0xfffe3b52]
PUSH 0x896
PUSH EAX
CALL 0x0002be80
MOV EAX,ESI
MOV EDI,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [ESP + 0x1c]
OR byte ptr [EBX + EAX*0x8 + 0x9012],0x1
JMP 0x0004d657
MOVZX EAX,AL
MOV dword ptr [EBP + EBX*0x1 + 0x130],EAX
JMP 0x0004d5b0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nundefined4 * __regparm3 FUN_0004b910(undefined1 param_1)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  char cVar3;\n  byte bVar4;\n  uint uVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte bVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 *puVar21;\n  undefined4 uVar22;\n  int iVar23;\n  int iVar24;\n  undefined4 uVar25;\n  char *pcVar26;\n  undefined4 uVar27;\n  uint uVar28;\n  uint extraout_ECX;\n  uint extraout_ECX_00;\n  byte bVar29;\n  uint uVar31;\n  undefined4 *puVar32;\n  undefined4 *puVar33;\n  byte bVar34;\n  int local_e0;\n  uint local_dc;\n  int local_d8;\n  uint local_d4;\n  uint local_d0;\n  byte local_c8;\n  byte local_c0;\n  uint uStack_a4;\n  uint uStack_a0;\n  uint uStack_9c;\n  uint uStack_98;\n  uint uStack_94;\n  uint uStack_90;\n  byte local_8c;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  byte bStack_39;\n  uint local_38;\n  uint uStack_34;\n  uint uStack_30;\n  uint uStack_2c;\n  uint uStack_28;\n  uint uStack_24;\n  uint uStack_20;\n  undefined4 uStack_14;\n  byte bVar30;\n  \n  uVar5 = DAT_000654f0;\n  bVar34 = 0;\n  uStack_14 = 0x4b919;\n  bVar11 = false;\n  bVar10 = false;\n  bVar9 = false;\n  bVar8 = false;\n  bVar7 = false;\n  bVar6 = false;\n  if ((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)) {\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }\n  DAT_000890f8 = 3;\n  puVar32 = (undefined4 *)*DAT_00088f88;\n  if (puVar32 < (undefined4 *)DAT_00088f88[1]) {\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }\n  if (puVar32 == (undefined4 *)DAT_00088f88[1]) {\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }\n  if (DAT_00088ec0 != 0) {\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }\n  local_d8 = -1;\n  local_dc = 0;\n  goto LAB_0004bed8;\nLAB_0004bc61:\n  if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }\n  if ((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0) {\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }\n  if (uVar28 == 1) goto code_r0x0004be14;\n  uVar28 = 1;\n  goto LAB_0004bc61;\nLAB_0004c4e4:\n  DAT_000890f8 = 0;\n  local_d8 = -1;\n  goto LAB_0004ba48;\ncode_r0x0004be14:\n  iVar19 = 0;\nLAB_0004c04c:\n  do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);\n  if (DAT_00088ff8 == 'q') {\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }\n  else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }\nLAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }\n  local_d8 = -1;\n  if (DAT_00089092 != '\0') {\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }\nLAB_0004c3ff:\n  if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;\n  local_d0 = 0;\n  if ((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) {\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }\n  uVar20 = DAT_00089010 & local_44;\n  bVar17 = (byte)(uVar20 >> 0x10);\n  local_8c = (byte)(uVar20 >> 0x18);\n  bVar29 = (byte)(DAT_00089010 >> 0x18);\n  bVar18 = (byte)(DAT_00089018 >> 0x10);\n  bVar30 = (byte)(DAT_00089018 >> 0x18);\n  local_c8 = (byte)DAT_00089014;\n  uVar28 = local_dc;\n  switch(local_d4) {\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }\n  if (DAT_000890d4 == 2) {\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }\ncode_r0x0004c54a:\n  if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }\n  DAT_000890f8 = 1;\ncode_r0x0004c7ec:\n  bVar4 = *(byte *)(puVar32 + 9);\n  if ((bVar4 & 1) == 0) goto LAB_0004ba48;\ncode_r0x0004c7fc:\n  uVar28 = DAT_00089010 & local_3c;\n  if (((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))\n  goto code_r0x0004c880;\n  local_c0 = (byte)(uVar28 >> 0x18);\n  if ((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))\n  goto code_r0x0004c880;\n  if (local_d0 != 0) {\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }\n  local_dc = 0;\n  if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }\n  uVar28 = local_dc | 8;\n  if ((*(byte *)((int)puVar32 + 0x25) & 4) == 0) {\n    uVar28 = local_dc;\n  }\nLAB_0004c685:\n  local_dc = uVar28;\n  if ((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))) {\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }\n  bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30;\n  if ((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0) {\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }\n  if ((*(byte *)(puVar32 + 0xb) & 8) != 0) {\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }\n  if (DAT_00089078 != 0) {\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }\nLAB_0004cef0:\n  DAT_000890f8 = 9;\n  local_e0 = 9;\nLAB_0004ba48:\n  puVar21 = (undefined4 *)DAT_00088f88[1];\n  puVar33 = puVar32 + 0x16;\n  if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n  goto LAB_0004ba5c;\nLAB_0004bec0:\n  puVar32 = puVar32 + 0x16;\nLAB_0004bec6:\n  if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }\n  if (DAT_00088ec0 != 0) goto LAB_0004bf2b;\nLAB_0004bed8:\n  if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }\n  if (((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')) {\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }\nLAB_0004bf2b:\n  puVar33 = puVar32;\n  puVar21 = &DAT_00088fa0;\n  for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }\n  if (local_d8 != -1) {\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }\n  if (local_dc != 0) {\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }\n  return puVar32;\n}\n\n" comment comment (ERROR "undefined4 * __regparm3 FUN_0004b910(undefined1 param_1)" (binary_expression "undefined4 * __regparm3 FUN_0004b910(undefined1 param_1)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_0004b910(undefined1 param_1)" identifier (argument_list "(undefined1 param_1)" ( identifier (ERROR "param_1" identifier) ))))) (compound_statement "{\n  int iVar1;\n  byte *pbVar2;\n  char cVar3;\n  byte bVar4;\n  uint uVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte bVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 *puVar21;\n  undefined4 uVar22;\n  int iVar23;\n  int iVar24;\n  undefined4 uVar25;\n  char *pcVar26;\n  undefined4 uVar27;\n  uint uVar28;\n  uint extraout_ECX;\n  uint extraout_ECX_00;\n  byte bVar29;\n  uint uVar31;\n  undefined4 *puVar32;\n  undefined4 *puVar33;\n  byte bVar34;\n  int local_e0;\n  uint local_dc;\n  int local_d8;\n  uint local_d4;\n  uint local_d0;\n  byte local_c8;\n  byte local_c0;\n  uint uStack_a4;\n  uint uStack_a0;\n  uint uStack_9c;\n  uint uStack_98;\n  uint uStack_94;\n  uint uStack_90;\n  byte local_8c;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  byte bStack_39;\n  uint local_38;\n  uint uStack_34;\n  uint uStack_30;\n  uint uStack_2c;\n  uint uStack_28;\n  uint uStack_24;\n  uint uStack_20;\n  undefined4 uStack_14;\n  byte bVar30;\n  \n  uVar5 = DAT_000654f0;\n  bVar34 = 0;\n  uStack_14 = 0x4b919;\n  bVar11 = false;\n  bVar10 = false;\n  bVar9 = false;\n  bVar8 = false;\n  bVar7 = false;\n  bVar6 = false;\n  if ((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)) {\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }\n  DAT_000890f8 = 3;\n  puVar32 = (undefined4 *)*DAT_00088f88;\n  if (puVar32 < (undefined4 *)DAT_00088f88[1]) {\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }\n  if (puVar32 == (undefined4 *)DAT_00088f88[1]) {\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }\n  if (DAT_00088ec0 != 0) {\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }\n  local_d8 = -1;\n  local_dc = 0;\n  goto LAB_0004bed8;\nLAB_0004bc61:\n  if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }\n  if ((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0) {\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }\n  if (uVar28 == 1) goto code_r0x0004be14;\n  uVar28 = 1;\n  goto LAB_0004bc61;\nLAB_0004c4e4:\n  DAT_000890f8 = 0;\n  local_d8 = -1;\n  goto LAB_0004ba48;\ncode_r0x0004be14:\n  iVar19 = 0;\nLAB_0004c04c:\n  do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);\n  if (DAT_00088ff8 == 'q') {\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }\n  else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }\nLAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }\n  local_d8 = -1;\n  if (DAT_00089092 != '\0') {\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }\nLAB_0004c3ff:\n  if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;\n  local_d0 = 0;\n  if ((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) {\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }\n  uVar20 = DAT_00089010 & local_44;\n  bVar17 = (byte)(uVar20 >> 0x10);\n  local_8c = (byte)(uVar20 >> 0x18);\n  bVar29 = (byte)(DAT_00089010 >> 0x18);\n  bVar18 = (byte)(DAT_00089018 >> 0x10);\n  bVar30 = (byte)(DAT_00089018 >> 0x18);\n  local_c8 = (byte)DAT_00089014;\n  uVar28 = local_dc;\n  switch(local_d4) {\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }\n  if (DAT_000890d4 == 2) {\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }\ncode_r0x0004c54a:\n  if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }\n  DAT_000890f8 = 1;\ncode_r0x0004c7ec:\n  bVar4 = *(byte *)(puVar32 + 9);\n  if ((bVar4 & 1) == 0) goto LAB_0004ba48;\ncode_r0x0004c7fc:\n  uVar28 = DAT_00089010 & local_3c;\n  if (((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))\n  goto code_r0x0004c880;\n  local_c0 = (byte)(uVar28 >> 0x18);\n  if ((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))\n  goto code_r0x0004c880;\n  if (local_d0 != 0) {\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }\n  local_dc = 0;\n  if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }\n  uVar28 = local_dc | 8;\n  if ((*(byte *)((int)puVar32 + 0x25) & 4) == 0) {\n    uVar28 = local_dc;\n  }\nLAB_0004c685:\n  local_dc = uVar28;\n  if ((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))) {\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }\n  bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30;\n  if ((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0) {\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }\n  if ((*(byte *)(puVar32 + 0xb) & 8) != 0) {\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }\n  if (DAT_00089078 != 0) {\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }\nLAB_0004cef0:\n  DAT_000890f8 = 9;\n  local_e0 = 9;\nLAB_0004ba48:\n  puVar21 = (undefined4 *)DAT_00088f88[1];\n  puVar33 = puVar32 + 0x16;\n  if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n  goto LAB_0004ba5c;\nLAB_0004bec0:\n  puVar32 = puVar32 + 0x16;\nLAB_0004bec6:\n  if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }\n  if (DAT_00088ec0 != 0) goto LAB_0004bf2b;\nLAB_0004bed8:\n  if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }\n  if (((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')) {\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }\nLAB_0004bf2b:\n  puVar33 = puVar32;\n  puVar21 = &DAT_00088fa0;\n  for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }\n  if (local_d8 != -1) {\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }\n  if (local_dc != 0) {\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }\n  return puVar32;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "undefined4 uVar25;" type_identifier identifier ;) (declaration "char *pcVar26;" primitive_type (pointer_declarator "*pcVar26" * identifier) ;) (declaration "undefined4 uVar27;" type_identifier identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "uint extraout_ECX;" type_identifier identifier ;) (declaration "uint extraout_ECX_00;" type_identifier identifier ;) (declaration "byte bVar29;" type_identifier identifier ;) (declaration "uint uVar31;" type_identifier identifier ;) (declaration "undefined4 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "byte bVar34;" type_identifier identifier ;) (declaration "int local_e0;" primitive_type identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "int local_d8;" primitive_type identifier ;) (declaration "uint local_d4;" type_identifier identifier ;) (declaration "uint local_d0;" type_identifier identifier ;) (declaration "byte local_c8;" type_identifier identifier ;) (declaration "byte local_c0;" type_identifier identifier ;) (declaration "uint uStack_a4;" type_identifier identifier ;) (declaration "uint uStack_a0;" type_identifier identifier ;) (declaration "uint uStack_9c;" type_identifier identifier ;) (declaration "uint uStack_98;" type_identifier identifier ;) (declaration "uint uStack_94;" type_identifier identifier ;) (declaration "uint uStack_90;" type_identifier identifier ;) (declaration "byte local_8c;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "byte bStack_39;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint uStack_34;" type_identifier identifier ;) (declaration "uint uStack_30;" type_identifier identifier ;) (declaration "uint uStack_2c;" type_identifier identifier ;) (declaration "uint uStack_28;" type_identifier identifier ;) (declaration "uint uStack_24;" type_identifier identifier ;) (declaration "uint uStack_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "byte bVar30;" type_identifier identifier ;) (expression_statement "uVar5 = DAT_000654f0;" (assignment_expression "uVar5 = DAT_000654f0" identifier = identifier) ;) (expression_statement "bVar34 = 0;" (assignment_expression "bVar34 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x4b919;" (assignment_expression "uStack_14 = 0x4b919" identifier = number_literal) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (if_statement "if ((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)) {\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }" if (parenthesized_expression "((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0))" ( (binary_expression "(DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)" (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_000890cc == (int *)0x0)" ( (binary_expression "DAT_000890cc == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }" { (if_statement "if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == 'b')" ( (binary_expression "DAT_00088ff8 == 'b'" identifier == (char_literal "'b'" ' character ')) )) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }" { (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) }) (else_clause "else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" else (if_statement "if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == 'w')" ( (binary_expression "DAT_00088ff8 == 'w'" identifier == (char_literal "'w'" ' character ')) )) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }" { (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" else (if_statement "if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == 's')" ( (binary_expression "DAT_00088ff8 == 's'" identifier == (char_literal "'s'" ' character ')) )) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" { (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" identifier = true) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" else (if_statement "if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == 'l')" ( (binary_expression "DAT_00088ff8 == 'l'" identifier == (char_literal "'l'" ' character ')) )) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }" { (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" identifier = true) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" else (if_statement "if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == 'q')" ( (binary_expression "DAT_00088ff8 == 'q'" identifier == (char_literal "'q'" ' character ')) )) (compound_statement "{\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" { (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = true;" (assignment_expression "bVar10 = true" identifier = true) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" else (if_statement "if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == '\x01')" ( (binary_expression "DAT_00088ff8 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" { (expression_statement "bVar11 = true;" (assignment_expression "bVar11 = true" identifier = true) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) })))))))))))) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (if_statement "if (DAT_00088ef4 != 0) goto LAB_0004b97b;" if (parenthesized_expression "(DAT_00088ef4 != 0)" ( (binary_expression "DAT_00088ef4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004b97b;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }" else (compound_statement "{\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }" { (labeled_statement "LAB_0004b97b:\n    bVar16 = false;" statement_identifier : (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;)) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (switch_statement "switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }" switch (parenthesized_expression "(param_1)" ( identifier )) (compound_statement "{\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }" { (case_statement "case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;" case number_literal : (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = true;" (assignment_expression "bVar12 = true" identifier = true) ;) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;" case number_literal : (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = true;" (assignment_expression "bVar14 = true" identifier = true) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (break_statement "break;" break ;)) (case_statement "case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;" case number_literal : (expression_statement "bVar16 = true;" (assignment_expression "bVar16 = true" identifier = true) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;" case number_literal : (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = true;" (assignment_expression "bVar15 = true" identifier = true) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (break_statement "break;" break ;)) (case_statement "case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;" case number_literal : (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;)) })) }))) (expression_statement "DAT_000890f8 = 3;" (assignment_expression "DAT_000890f8 = 3" identifier = number_literal) ;) (expression_statement "puVar32 = (undefined4 *)*DAT_00088f88;" (assignment_expression "puVar32 = (undefined4 *)*DAT_00088f88" identifier = (cast_expression "(undefined4 *)*DAT_00088f88" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00088f88" * identifier))) ;) (if_statement "if (puVar32 < (undefined4 *)DAT_00088f88[1]) {\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }" if (parenthesized_expression "(puVar32 < (undefined4 *)DAT_00088f88[1])" ( (binary_expression "puVar32 < (undefined4 *)DAT_00088f88[1]" identifier < (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }" { (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (expression_statement "puVar33 = puVar32;" (assignment_expression "puVar33 = puVar32" identifier = identifier) ;) (labeled_statement "LAB_0004ba5c:\n    puVar32 = puVar33;" statement_identifier : (expression_statement "puVar32 = puVar33;" (assignment_expression "puVar32 = puVar33" identifier = identifier) ;)) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (if_statement "if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;" if (parenthesized_expression "(DAT_00088ffc != puVar32[1])" ( (binary_expression "DAT_00088ffc != puVar32[1]" identifier != (subscript_expression "puVar32[1]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (expression_statement "DAT_000890f8 = 8;" (assignment_expression "DAT_000890f8 = 8" identifier = number_literal) ;) (expression_statement "iVar19 = FUN_00047980();" (assignment_expression "iVar19 = FUN_00047980()" identifier = (call_expression "FUN_00047980()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;" if (parenthesized_expression "((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))" ( (binary_expression "(iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)))" (parenthesized_expression "(iVar19 != 3)" ( (binary_expression "iVar19 != 3" identifier != number_literal) )) || (parenthesized_expression "((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)))" ( (parenthesized_expression "(DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))" ( (comma_expression "DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)" (assignment_expression "DAT_000890f8 = 6" identifier = number_literal) , (binary_expression "DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)" (binary_expression "DAT_00088eec != 0" identifier != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 0x40) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 0xb) & 0x40) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 0x40)" ( (binary_expression "*(byte *)(puVar32 + 0xb) & 0x40" (pointer_expression "*(byte *)(puVar32 + 0xb)" * (cast_expression "(byte *)(puVar32 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) )))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (expression_statement "DAT_000890f8 = 7;" (assignment_expression "DAT_000890f8 = 7" identifier = number_literal) ;) (if_statement "if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }" if (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) (compound_statement "{\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }" { (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2d);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2d)" identifier = (pointer_expression "*(byte *)((int)puVar32 + 0x2d)" * (cast_expression "(byte *)((int)puVar32 + 0x2d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2d)" ( (binary_expression "(int)puVar32 + 0x2d" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar17 & 1) != 0) goto LAB_0004bea5;" if (parenthesized_expression "((bVar17 & 1) != 0)" ( (binary_expression "(bVar17 & 1) != 0" (parenthesized_expression "(bVar17 & 1)" ( (binary_expression "bVar17 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) (if_statement "if (DAT_00088ef0 != 0) goto LAB_0004bfcc;" if (parenthesized_expression "(DAT_00088ef0 != 0)" ( (binary_expression "DAT_00088ef0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004bfcc;" goto statement_identifier ;)) (labeled_statement "LAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;" statement_identifier : (if_statement "if ((bVar17 & 4) != 0) goto LAB_0004bea5;" if (parenthesized_expression "((bVar17 & 4) != 0)" ( (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" ( (binary_expression "bVar17 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;))) (labeled_statement "LAB_0004bad7:\n      DAT_000890f8 = 4;" statement_identifier : (expression_statement "DAT_000890f8 = 4;" (assignment_expression "DAT_000890f8 = 4" identifier = number_literal) ;)) (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x26);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x26)" identifier = (pointer_expression "*(byte *)((int)puVar32 + 0x26)" * (cast_expression "(byte *)((int)puVar32 + 0x26)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x26)" ( (binary_expression "(int)puVar32 + 0x26" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;" if (parenthesized_expression "((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))" ( (binary_expression "(((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))))" (parenthesized_expression "(((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11))))))))" ( (binary_expression "((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))" (parenthesized_expression "((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25)))" ( (binary_expression "(DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))" (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) || (parenthesized_expression "(-1 < *(char *)((int)puVar32 + 0x25))" ( (binary_expression "-1 < *(char *)((int)puVar32 + 0x25)" number_literal < (pointer_expression "*(char *)((int)puVar32 + 0x25)" * (cast_expression "(char *)((int)puVar32 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) && (parenthesized_expression "((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))" ( (parenthesized_expression "(((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11))))))" ( (binary_expression "((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))" (parenthesized_expression "((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8))))" ( (binary_expression "(((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))" (parenthesized_expression "(((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7))))" ( (binary_expression "((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))" (parenthesized_expression "((bVar17 & 2) != 0 && (bVar6))" ( (binary_expression "(bVar17 & 2) != 0 && (bVar6)" (binary_expression "(bVar17 & 2) != 0" (parenthesized_expression "(bVar17 & 2)" ( (binary_expression "bVar17 & 2" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar6)" ( identifier ))) )) || (parenthesized_expression "(((bVar17 & 4) != 0 && (bVar7)))" ( (parenthesized_expression "((bVar17 & 4) != 0 && (bVar7))" ( (binary_expression "(bVar17 & 4) != 0 && (bVar7)" (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" ( (binary_expression "bVar17 & 4" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar7)" ( identifier ))) )) ))) )) || (parenthesized_expression "(((bVar17 & 8) != 0 && (bVar8)))" ( (parenthesized_expression "((bVar17 & 8) != 0 && (bVar8))" ( (binary_expression "(bVar17 & 8) != 0 && (bVar8)" (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" ( (binary_expression "bVar17 & 8" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar8)" ( identifier ))) )) ))) )) || (parenthesized_expression "(((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))" ( (parenthesized_expression "((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11))))" ( (binary_expression "(((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))" (parenthesized_expression "(((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10))))" ( (binary_expression "((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))" (parenthesized_expression "((bVar17 & 0x10) != 0 && (bVar9))" ( (binary_expression "(bVar17 & 0x10) != 0 && (bVar9)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" ( (binary_expression "bVar17 & 0x10" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar9)" ( identifier ))) )) || (parenthesized_expression "(((bVar17 & 0x20) != 0 && (bVar10)))" ( (parenthesized_expression "((bVar17 & 0x20) != 0 && (bVar10))" ( (binary_expression "(bVar17 & 0x20) != 0 && (bVar10)" (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar10)" ( identifier ))) )) ))) )) || (parenthesized_expression "(((bVar17 & 0x40) != 0 && (bVar11)))" ( (parenthesized_expression "((bVar17 & 0x40) != 0 && (bVar11))" ( (binary_expression "(bVar17 & 0x40) != 0 && (bVar11)" (binary_expression "(bVar17 & 0x40) != 0" (parenthesized_expression "(bVar17 & 0x40)" ( (binary_expression "bVar17 & 0x40" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar11)" ( identifier ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))))" ( (parenthesized_expression "(((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))" ( (binary_expression "((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))" (parenthesized_expression "((bVar17 & 2) != 0 && (bVar12))" ( (binary_expression "(bVar17 & 2) != 0 && (bVar12)" (binary_expression "(bVar17 & 2) != 0" (parenthesized_expression "(bVar17 & 2)" ( (binary_expression "bVar17 & 2" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar12)" ( identifier ))) )) || (parenthesized_expression "(((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))" ( (parenthesized_expression "((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))" ( (binary_expression "(((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))" (parenthesized_expression "(((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14))))" ( (binary_expression "((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))" (parenthesized_expression "((bVar17 & 4) != 0 && (bVar13))" ( (binary_expression "(bVar17 & 4) != 0 && (bVar13)" (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" ( (binary_expression "bVar17 & 4" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar13)" ( identifier ))) )) || (parenthesized_expression "(((bVar17 & 8) != 0 && (bVar14)))" ( (parenthesized_expression "((bVar17 & 8) != 0 && (bVar14))" ( (binary_expression "(bVar17 & 8) != 0 && (bVar14)" (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" ( (binary_expression "bVar17 & 8" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar14)" ( identifier ))) )) ))) )) || (parenthesized_expression "((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))" ( (parenthesized_expression "(((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))" ( (binary_expression "((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))" (parenthesized_expression "((bVar17 & 0x10) != 0 && (bVar15))" ( (binary_expression "(bVar17 & 0x10) != 0 && (bVar15)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" ( (binary_expression "bVar17 & 0x10" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar15)" ( identifier ))) )) || (parenthesized_expression "(((bVar17 & 0x20) != 0 && (bVar16)))" ( (parenthesized_expression "((bVar17 & 0x20) != 0 && (bVar16))" ( (binary_expression "(bVar17 & 0x20) != 0 && (bVar16)" (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar16)" ( identifier ))) )) ))) )) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) (if_statement "if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }" if (parenthesized_expression "((*(ushort *)(puVar32 + 9) & 0x1e0) == 0)" ( (binary_expression "(*(ushort *)(puVar32 + 9) & 0x1e0) == 0" (parenthesized_expression "(*(ushort *)(puVar32 + 9) & 0x1e0)" ( (binary_expression "*(ushort *)(puVar32 + 9) & 0x1e0" (pointer_expression "*(ushort *)(puVar32 + 9)" * (cast_expression "(ushort *)(puVar32 + 9)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 9)" ( (binary_expression "puVar32 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }" { (expression_statement "iVar19 = DAT_00088ffc;" (assignment_expression "iVar19 = DAT_00088ffc" identifier = identifier) ;) (if_statement "if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }" if (parenthesized_expression "(DAT_00088ffc != 0)" ( (binary_expression "DAT_00088ffc != 0" identifier != number_literal) )) (compound_statement "{\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);" do (compound_statement "{\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          }" { (expression_statement "uVar28 = iVar19 + 0xe;" (assignment_expression "uVar28 = iVar19 + 0xe" identifier = (binary_expression "iVar19 + 0xe" identifier + number_literal)) ;) (if_statement "if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }" if (parenthesized_expression "((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1)))" ( (binary_expression "(((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))" (parenthesized_expression "(((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0))" ( (binary_expression "((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)" (parenthesized_expression "((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0)" ( (binary_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0" (parenthesized_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1)" ( (binary_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1" (pointer_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2)" * (cast_expression "(byte *)(&DAT_00088fa0 + uVar28 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00088fa0 + uVar28 * 2)" ( (binary_expression "&DAT_00088fa0 + uVar28 * 2" (pointer_expression "&DAT_00088fa0" & identifier) + (binary_expression "uVar28 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)" ( (binary_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0" (parenthesized_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4)" ( (binary_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4" (pointer_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2)" * (cast_expression "(byte *)(&DAT_00088fa0 + uVar28 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00088fa0 + uVar28 * 2)" ( (binary_expression "&DAT_00088fa0 + uVar28 * 2" (pointer_expression "&DAT_00088fa0" & identifier) + (binary_expression "uVar28 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))" ( (binary_expression "-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1)" number_literal < (pointer_expression "*(char *)(puVar32 + (iVar19 + 6) * 2 + 1)" * (cast_expression "(char *)(puVar32 + (iVar19 + 6) * 2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + (iVar19 + 6) * 2 + 1)" ( (binary_expression "puVar32 + (iVar19 + 6) * 2 + 1" (binary_expression "puVar32 + (iVar19 + 6) * 2" identifier + (binary_expression "(iVar19 + 6) * 2" (parenthesized_expression "(iVar19 + 6)" ( (binary_expression "iVar19 + 6" identifier + number_literal) )) * number_literal)) + number_literal) ))))) ))) )) (compound_statement "{\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }" { (expression_statement "iVar23 = iVar19 + 6;" (assignment_expression "iVar23 = iVar19 + 6" identifier = (binary_expression "iVar19 + 6" identifier + number_literal)) ;) (if_statement "if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }" if (parenthesized_expression "(((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))))" ( (binary_expression "((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" (parenthesized_expression "((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))))" ( (binary_expression "(((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" (parenthesized_expression "(((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))))))))" ( (binary_expression "((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))" (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2) & 1)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2) & 1" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2)" ( (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))" ( (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))))))" ( (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))" ( (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))))" ( (binary_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))" (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))" ( (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))" ( (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))" ( (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 4)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" ( (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1" (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2)" ( (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) )))) >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" ( (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))" ( (binary_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))))" ( (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 8)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" ( (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 2)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 2)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 2" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" ( (parenthesized_expression "(((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))" ( (binary_expression "((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))))" ( (binary_expression "(((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))))))" ( (binary_expression "((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))" (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))))" ( (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" ( (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))" ( (binary_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))" ( (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))" ( (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))))" ( (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 4)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 8)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }" { (labeled_statement "LAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;" statement_identifier : (if_statement "if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;" if (parenthesized_expression "((*(byte *)(puVar32 + 9) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar32 + 9) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + 9) & 1)" ( (binary_expression "*(byte *)(puVar32 + 9) & 1" (pointer_expression "*(byte *)(puVar32 + 9)" * (cast_expression "(byte *)(puVar32 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 9)" ( (binary_expression "puVar32 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;))) (if_statement "if (DAT_00088ffc != 2) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }" if (parenthesized_expression "(DAT_00088ffc != 2)" ( (binary_expression "DAT_00088ffc != 2" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }" { comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28)" identifier (argument_list "("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""operand_size_match"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004bc61;" goto statement_identifier ;) })) (expression_statement "bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);" (assignment_expression "bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }" if (parenthesized_expression "((bVar17 & 0x10) != 0)" ( (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" ( (binary_expression "bVar17 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }" { (if_statement "if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;" if (parenthesized_expression "(((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0))))))" ( (binary_expression "((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))" (parenthesized_expression "((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))" ( (binary_expression "(((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (parenthesized_expression "(((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))))" ( (binary_expression "((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))" (parenthesized_expression "((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "(((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0))" ( (binary_expression "((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((bVar17 & 0x20) != 0)" ( (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))" ( (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))" ( (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))" ( (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0))))" ( (binary_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))" (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0))))))" ( (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 4)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0))))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x40)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x40" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))" ( (parenthesized_expression "(DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0))" ( (binary_expression "DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)" (binary_expression "DAT_000890cc == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 1) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 1)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 1" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 1)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 1" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004bc40;" goto statement_identifier ;)) (if_statement "if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" if (parenthesized_expression "((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))))" ( (binary_expression "(((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" (parenthesized_expression "(((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0))" ( (binary_expression "((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1" (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2)" ( (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) )))) >> number_literal) & number_literal) )) == number_literal) )) || (parenthesized_expression "((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + 0x2b)" * (cast_expression "(byte *)((int)puVar32 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2b)" ( (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" ( (parenthesized_expression "(bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))" ( (comma_expression "bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) , (binary_expression "(bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (binary_expression "(bVar17 & 0x20) == 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" ( (parenthesized_expression "(((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" ( (binary_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (parenthesized_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17))" ( (binary_expression "(bVar17 & 0x40) == 0 && (-1 < (char)bVar17)" (binary_expression "(bVar17 & 0x40) == 0" (parenthesized_expression "(bVar17 & 0x40)" ( (binary_expression "bVar17 & 0x40" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(-1 < (char)bVar17)" ( (binary_expression "-1 < (char)bVar17" number_literal < (cast_expression "(char)bVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ))) )) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) )))) )) ))) )) (compound_statement "{\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }" { (if_statement "if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;" if (parenthesized_expression "((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))" ( (binary_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))))" ( (binary_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))" ( (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0)" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 8)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004bc40;" goto statement_identifier ;)) }) (else_clause "else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" else (compound_statement "{\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" { (expression_statement "bVar17 = (&DAT_00088fa4)[uVar28 * 8];" (assignment_expression "bVar17 = (&DAT_00088fa4)[uVar28 * 8]" identifier = (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ])) ;) (expression_statement "uVar28 = (uint)bVar17;" (assignment_expression "uVar28 = (uint)bVar17" identifier = (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;" if (parenthesized_expression "(((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))" ( (binary_expression "((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" (parenthesized_expression "((bVar17 & 8) != 0)" ( (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" ( (binary_expression "bVar17 & 8" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" ( (parenthesized_expression "((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))" ( (binary_expression "(bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" ( (binary_expression "bVar17 & 0x10" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((bVar17 & 0x20) != 0)" ( (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004bc40;" goto statement_identifier ;)) }))) })) })) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 != DAT_00088ffc)" ( (binary_expression "iVar19 != DAT_00088ffc" identifier != identifier) )) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n        iVar19 = 0;\n      }" else (compound_statement "{\n        iVar19 = 0;\n      }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0004c04c;" goto statement_identifier ;) })) (if_statement "if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }" if (parenthesized_expression "(-1 < *(char *)(puVar32 + 0xb))" ( (binary_expression "-1 < *(char *)(puVar32 + 0xb)" number_literal < (pointer_expression "*(char *)(puVar32 + 0xb)" * (cast_expression "(char *)(puVar32 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) ))))) )) (compound_statement "{\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }" { (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2d);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2d)" identifier = (pointer_expression "*(byte *)((int)puVar32 + 0x2d)" * (cast_expression "(byte *)((int)puVar32 + 0x2d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2d)" ( (binary_expression "(int)puVar32 + 0x2d" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (DAT_00088ef0 == 0) goto LAB_0004bacf;" if (parenthesized_expression "(DAT_00088ef0 == 0)" ( (binary_expression "DAT_00088ef0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004bacf;" goto statement_identifier ;)) (labeled_statement "LAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;" statement_identifier : (if_statement "if ((bVar17 & 2) == 0) goto LAB_0004bad7;" if (parenthesized_expression "((bVar17 & 2) == 0)" ( (binary_expression "(bVar17 & 2) == 0" (parenthesized_expression "(bVar17 & 2)" ( (binary_expression "bVar17 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004bad7;" goto statement_identifier ;))) })) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;) })) (if_statement "if (puVar32 == (undefined4 *)DAT_00088f88[1]) {\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }" if (parenthesized_expression "(puVar32 == (undefined4 *)DAT_00088f88[1])" ( (binary_expression "puVar32 == (undefined4 *)DAT_00088f88[1]" identifier == (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) )) (compound_statement "{\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }" { (labeled_statement "LAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";" statement_identifier : (expression_statement "pcVar26 = "number of operands mismatch";" (assignment_expression "pcVar26 = "number of operands mismatch"" identifier = (string_literal ""number of operands mismatch"" " string_content ")) ;)) (goto_statement "goto LAB_0004ca20;" goto statement_identifier ;) })) (if_statement "if (DAT_00088ec0 != 0) {\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }" if (parenthesized_expression "(DAT_00088ec0 != 0)" ( (binary_expression "DAT_00088ec0 != 0" identifier != number_literal) )) (compound_statement "{\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }" { (expression_statement "puVar33 = puVar32;" (assignment_expression "puVar33 = puVar32" identifier = identifier) ;) (expression_statement "puVar21 = &DAT_00088fa0;" (assignment_expression "puVar21 = &DAT_00088fa0" identifier = (pointer_expression "&DAT_00088fa0" & identifier)) ;) (for_statement "for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }" for ( (assignment_expression "iVar19 = 0x16" identifier = number_literal) ; (binary_expression "iVar19 != 0" identifier != number_literal) ; (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }" { (expression_statement "*puVar21 = *puVar33;" (assignment_expression "*puVar21 = *puVar33" (pointer_expression "*puVar21" * identifier) = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar21 + 1;" (assignment_expression "puVar21 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;) })) (return_statement "return puVar32;" return identifier ;) })) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004bed8;" goto statement_identifier ;) (labeled_statement "LAB_0004bc61:\n  if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }" statement_identifier : (if_statement "if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }" if (parenthesized_expression "(((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0))" ( (binary_expression "((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)" (parenthesized_expression "((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0)" ( (binary_expression "(*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1)" ( (binary_expression "*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1" (pointer_expression "*(byte *)(puVar32 + (uVar28 + 6) * 2)" * (cast_expression "(byte *)(puVar32 + (uVar28 + 6) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + (uVar28 + 6) * 2)" ( (binary_expression "puVar32 + (uVar28 + 6) * 2" identifier + (binary_expression "(uVar28 + 6) * 2" (parenthesized_expression "(uVar28 + 6)" ( (binary_expression "uVar28 + 6" identifier + number_literal) )) * number_literal)) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2)" * (cast_expression "(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + (uVar28 + 6) * 8 + 2)" ( (binary_expression "(int)puVar32 + (uVar28 + 6) * 8 + 2" (binary_expression "(int)puVar32 + (uVar28 + 6) * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uVar28 + 6) * 8" (parenthesized_expression "(uVar28 + 6)" ( (binary_expression "uVar28 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }" { (expression_statement "uVar20 = uVar28 ^ 1;" (assignment_expression "uVar20 = uVar28 ^ 1" identifier = (binary_expression "uVar28 ^ 1" identifier ^ number_literal)) ;) (expression_statement "iVar19 = uVar20 + 0xe;" (assignment_expression "iVar19 = uVar20 + 0xe" identifier = (binary_expression "uVar20 + 0xe" identifier + number_literal)) ;) (if_statement "if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;" if (parenthesized_expression "((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0))))))" ( (binary_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))" (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)))))" ( (binary_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))" (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0))))" ( (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0))" ( (binary_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (binary_expression "(int)puVar32 + (uVar20 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (uVar20 + 6) * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uVar20 + 6) * 8" (parenthesized_expression "(uVar20 + 6)" ( (binary_expression "uVar20 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (binary_expression "(int)puVar32 + (uVar20 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (uVar20 + 6) * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uVar20 + 6) * 8" (parenthesized_expression "(uVar20 + 6)" ( (binary_expression "uVar20 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))" ( (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)))" ( (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (binary_expression "(int)puVar32 + (uVar20 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (uVar20 + 6) * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uVar20 + 6) * 8" (parenthesized_expression "(uVar20 + 6)" ( (binary_expression "uVar20 + 6" identifier + number_literal) )) * number_literal)) + number_literal) ))))) ))) )) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))" ( (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0))))" ( (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" * (cast_expression "(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + (uVar20 + 6) * 2 + 1)" ( (binary_expression "puVar32 + (uVar20 + 6) * 2 + 1" (binary_expression "puVar32 + (uVar20 + 6) * 2" identifier + (binary_expression "(uVar20 + 6) * 2" (parenthesized_expression "(uVar20 + 6)" ( (binary_expression "uVar20 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 4)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4)" ( (binary_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" * (cast_expression "(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + (uVar20 + 6) * 2 + 1)" ( (binary_expression "puVar32 + (uVar20 + 6) * 2 + 1" (binary_expression "puVar32 + (uVar20 + 6) * 2" identifier + (binary_expression "(uVar20 + 6) * 2" (parenthesized_expression "(uVar20 + 6)" ( (binary_expression "uVar20 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) }))) (if_statement "if ((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0) {\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }" if (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + (uVar28 + 0xe) * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "(uVar28 + 0xe) * 8" (parenthesized_expression "(uVar28 + 0xe)" ( (binary_expression "uVar28 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }" { (expression_statement "local_d4 = uVar28 ^ 1;" (assignment_expression "local_d4 = uVar28 ^ 1" identifier = (binary_expression "uVar28 ^ 1" identifier ^ number_literal)) ;) (expression_statement "iVar19 = local_d4 + 0xe;" (assignment_expression "iVar19 = local_d4 + 0xe" identifier = (binary_expression "local_d4 + 0xe" identifier + number_literal)) ;) (if_statement "if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;" if (parenthesized_expression "((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0))))" ( (binary_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))" (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))))))))" ( (binary_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))" (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0))" ( (binary_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + (local_d4 + 6) * 8 + 3)" ( (binary_expression "(int)puVar32 + (local_d4 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (local_d4 + 6) * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(local_d4 + 6) * 8" (parenthesized_expression "(local_d4 + 6)" ( (binary_expression "local_d4 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "(local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0))" ( (comma_expression "local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)" (assignment_expression "local_d4 = local_d4 + 6" identifier = (binary_expression "local_d4 + 6" identifier + number_literal)) , (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + local_d4 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 3)" ( (binary_expression "(int)puVar32 + local_d4 * 8 + 3" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )))) )) ))) )) || (parenthesized_expression "(((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))" ( (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))))))" ( (binary_expression "(*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))" (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3)))" ( (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)puVar32 + local_d4 * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + local_d4 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 3)" ( (binary_expression "(int)puVar32 + local_d4 * 8 + 3" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))" ( (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))))" ( (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))" ( (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))" ( (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 4)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 4)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )" ( (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)))" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x40)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 0x40" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)))" ( (parenthesized_expression "(DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))" ( (binary_expression "DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)" (binary_expression "DAT_000890cc == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 1) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 1)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 1" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 1)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 1" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) (if_statement "if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" if (parenthesized_expression "((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))))))" ( (binary_expression "(((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))" (parenthesized_expression "(((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0))" ( (binary_expression "((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2) & 4)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2) & 4" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2)" ( (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + 0x2b)" * (cast_expression "(byte *)((int)puVar32 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2b)" ( (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))" ( (parenthesized_expression "(bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))))" ( (comma_expression "bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + local_d4 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 3)" ( (binary_expression "(int)puVar32 + local_d4 * 8 + 3" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) ))))) , (binary_expression "(bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))" (binary_expression "(bVar17 & 0x20) == 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))" ( (parenthesized_expression "(((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))" ( (binary_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" (parenthesized_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17))" ( (binary_expression "(bVar17 & 0x40) == 0 && (-1 < (char)bVar17)" (binary_expression "(bVar17 & 0x40) == 0" (parenthesized_expression "(bVar17 & 0x40)" ( (binary_expression "bVar17 & 0x40" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(-1 < (char)bVar17)" ( (binary_expression "-1 < (char)bVar17" number_literal < (cast_expression "(char)bVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ))) )) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) )))) )) ))) )) (compound_statement "{\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }" { (if_statement "if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;" if (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0))))))" ( (binary_expression "((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))" (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0))" ( (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 8) != 0)" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 8)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 8)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))" ( (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0))))" ( (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x10)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x20)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) }) (else_clause "else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" else (compound_statement "{\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" { (expression_statement "bVar17 = (&DAT_00088fa4)[iVar19 * 8];" (assignment_expression "bVar17 = (&DAT_00088fa4)[iVar19 * 8]" identifier = (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ])) ;) (if_statement "if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;" if (parenthesized_expression "(((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))" ( (binary_expression "((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" (parenthesized_expression "((bVar17 & 8) != 0)" ( (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" ( (binary_expression "bVar17 & 8" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" ( (parenthesized_expression "((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))" ( (binary_expression "(bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" ( (binary_expression "bVar17 & 0x10" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((bVar17 & 0x20) != 0)" ( (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) }))) })) (if_statement "if (uVar28 == 1) goto code_r0x0004be14;" if (parenthesized_expression "(uVar28 == 1)" ( (binary_expression "uVar28 == 1" identifier == number_literal) )) (goto_statement "goto code_r0x0004be14;" goto statement_identifier ;)) (expression_statement "uVar28 = 1;" (assignment_expression "uVar28 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0004bc61;" goto statement_identifier ;) (labeled_statement "LAB_0004c4e4:\n  DAT_000890f8 = 0;" statement_identifier : (expression_statement "DAT_000890f8 = 0;" (assignment_expression "DAT_000890f8 = 0" identifier = number_literal) ;)) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) (labeled_statement "code_r0x0004be14:\n  iVar19 = 0;" statement_identifier : (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0004c04c:\n  do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);" statement_identifier : (do_statement "do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);" do (compound_statement "{\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  }" { (expression_statement "uVar28 = puVar32[iVar19 * 2 + 0xd];" (assignment_expression "uVar28 = puVar32[iVar19 * 2 + 0xd]" identifier = (subscript_expression "puVar32[iVar19 * 2 + 0xd]" identifier [ (binary_expression "iVar19 * 2 + 0xd" (binary_expression "iVar19 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "(&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];" (assignment_expression "(&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc]" (subscript_expression "(&local_44)[iVar19 * 2]" (parenthesized_expression "(&local_44)" ( (pointer_expression "&local_44" & identifier) )) [ (binary_expression "iVar19 * 2" identifier * number_literal) ]) = (subscript_expression "puVar32[iVar19 * 2 + 0xc]" identifier [ (binary_expression "iVar19 * 2 + 0xc" (binary_expression "iVar19 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "(&local_40)[iVar19 * 2] = uVar28;" (assignment_expression "(&local_40)[iVar19 * 2] = uVar28" (subscript_expression "(&local_40)[iVar19 * 2]" (parenthesized_expression "(&local_40)" ( (pointer_expression "&local_40" & identifier) )) [ (binary_expression "iVar19 * 2" identifier * number_literal) ]) = identifier) ;) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 != 5)" ( (binary_expression "iVar19 != 5" identifier != number_literal) )) ;)) (if_statement "if (DAT_00088ff8 == 'q') {\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }\n  else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }" if (parenthesized_expression "(DAT_00088ff8 == 'q')" ( (binary_expression "DAT_00088ff8 == 'q'" identifier == (char_literal "'q'" ' character ')) )) (compound_statement "{\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }" { (if_statement "if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }" if (parenthesized_expression "(DAT_00088f0c != 2)" ( (binary_expression "DAT_00088f0c != 2" identifier != number_literal) )) (compound_statement "{\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }" { (if_statement "if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" if (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }" { (if_statement "if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;" if (parenthesized_expression "((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2))" ( (binary_expression "(*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)" (parenthesized_expression "(*(char *)*puVar32 != 'f')" ( (binary_expression "*(char *)*puVar32 != 'f'" (pointer_expression "*(char *)*puVar32" * (cast_expression "(char *)*puVar32" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar32" * identifier))) != (char_literal "'f'" ' character ')) )) || (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 != 2)" ( (comma_expression "iVar19 = FUN_00045bd0(), iVar19 != 2" (assignment_expression "iVar19 = FUN_00045bd0()" identifier = (call_expression "FUN_00045bd0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar19 != 2" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0004be5a;" goto statement_identifier ;)) }) (else_clause "else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" else (if_statement "if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" if (parenthesized_expression "((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0))))" ( (binary_expression "(-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))" (parenthesized_expression "(-1 < *(char *)((int)puVar32 + 0x25))" ( (binary_expression "-1 < *(char *)((int)puVar32 + 0x25)" number_literal < (pointer_expression "*(char *)((int)puVar32 + 0x25)" * (cast_expression "(char *)((int)puVar32 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) && (parenthesized_expression "((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))" ( (parenthesized_expression "(*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0))" ( (binary_expression "*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)" (binary_expression "*(char *)*puVar32 != 'f'" (pointer_expression "*(char *)*puVar32" * (cast_expression "(char *)*puVar32" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar32" * identifier))) != (char_literal "'f'" ' character ')) || (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 == 0)" ( (comma_expression "iVar19 = FUN_00045bd0(), iVar19 == 0" (assignment_expression "iVar19 = FUN_00045bd0()" identifier = (call_expression "FUN_00045bd0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" { (labeled_statement "LAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }" statement_identifier : (if_statement "if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }" if (parenthesized_expression "((local_44 & 6) != 0)" ( (binary_expression "(local_44 & 6) != 0" (parenthesized_expression "(local_44 & 6)" ( (binary_expression "local_44 & 6" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }" { (expression_statement "local_d4 = puVar32[1];" (assignment_expression "local_d4 = puVar32[1]" identifier = (subscript_expression "puVar32[1]" identifier [ number_literal ])) ;) (if_statement "if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;" if (parenthesized_expression "(((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0))" ( (binary_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)" (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0)" ( (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2)" ( (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" * (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" ( (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" & identifier) + (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < local_d4)" ( (binary_expression "1 < local_d4" number_literal < identifier) ))) * number_literal)) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)" ( (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4)" ( (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" * (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" ( (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" & identifier) + (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < local_d4)" ( (binary_expression "1 < local_d4" number_literal < identifier) ))) * number_literal)) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004c397;" goto statement_identifier ;)) }))) (if_statement "if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }" if (parenthesized_expression "((puVar32[2] != 0xfc7) || (puVar32[3] != 1))" ( (binary_expression "(puVar32[2] != 0xfc7) || (puVar32[3] != 1)" (parenthesized_expression "(puVar32[2] != 0xfc7)" ( (binary_expression "puVar32[2] != 0xfc7" (subscript_expression "puVar32[2]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(puVar32[3] != 1)" ( (binary_expression "puVar32[3] != 1" (subscript_expression "puVar32[3]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }" { (labeled_statement "LAB_0004bea5:\n          local_d8 = -1;" statement_identifier : (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;)) (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" identifier = (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar33 = puVar32 + 0x16;" (assignment_expression "puVar33 = puVar32 + 0x16" identifier = (binary_expression "puVar32 + 0x16" identifier + number_literal)) ;) (if_statement "if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;" if (parenthesized_expression "(puVar21 <= puVar32 + 0x16)" ( (binary_expression "puVar21 <= puVar32 + 0x16" identifier <= (binary_expression "puVar32 + 0x16" identifier + number_literal)) )) (goto_statement "goto LAB_0004bec0;" goto statement_identifier ;)) (goto_statement "goto LAB_0004ba5c;" goto statement_identifier ;) })) })))) })) (labeled_statement "LAB_0004c390:\n    local_d4 = puVar32[1];" statement_identifier : (expression_statement "local_d4 = puVar32[1];" (assignment_expression "local_d4 = puVar32[1]" identifier = (subscript_expression "puVar32[1]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }" else (compound_statement "{\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }" { (if_statement "if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;" if (parenthesized_expression "((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0))" ( (binary_expression "(DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)" (parenthesized_expression "(DAT_00088ff8 != 'l')" ( (binary_expression "DAT_00088ff8 != 'l'" identifier != (char_literal "'l'" ' character ')) )) || (parenthesized_expression "((DAT_0008053c & 4) != 0)" ( (binary_expression "(DAT_0008053c & 4) != 0" (parenthesized_expression "(DAT_0008053c & 4)" ( (binary_expression "DAT_0008053c & 4" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004c390;" goto statement_identifier ;)) (if_statement "if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;" if (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }" { (if_statement "if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;" if (parenthesized_expression "((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2))" ( (binary_expression "(*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)" (parenthesized_expression "(*(char *)*puVar32 == 'f')" ( (binary_expression "*(char *)*puVar32 == 'f'" (pointer_expression "*(char *)*puVar32" * (cast_expression "(char *)*puVar32" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar32" * identifier))) == (char_literal "'f'" ' character ')) )) && (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 == 2)" ( (comma_expression "iVar19 = FUN_00045bd0(), iVar19 == 2" (assignment_expression "iVar19 = FUN_00045bd0()" identifier = (call_expression "FUN_00045bd0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar19 == 2" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0004c390;" goto statement_identifier ;)) }) (else_clause "else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;" else (if_statement "if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;" if (parenthesized_expression "((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))" ( (binary_expression "(*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0)))" (parenthesized_expression "(*(char *)((int)puVar32 + 0x25) < '\0')" ( (binary_expression "*(char *)((int)puVar32 + 0x25) < '\0'" (pointer_expression "*(char *)((int)puVar32 + 0x25)" * (cast_expression "(char *)((int)puVar32 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0)))" ( (parenthesized_expression "(*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))" ( (binary_expression "*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0)" (binary_expression "*(char *)*puVar32 == 'f'" (pointer_expression "*(char *)*puVar32" * (cast_expression "(char *)*puVar32" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar32" * identifier))) == (char_literal "'f'" ' character ')) && (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 != 0)" ( (comma_expression "iVar19 = FUN_00045bd0(), iVar19 != 0" (assignment_expression "iVar19 = FUN_00045bd0()" identifier = (call_expression "FUN_00045bd0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar19 != 0" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0004c390;" goto statement_identifier ;)))) (if_statement "if ((local_44 & 6) == 0) goto LAB_0004bea5;" if (parenthesized_expression "((local_44 & 6) == 0)" ( (binary_expression "(local_44 & 6) == 0" (parenthesized_expression "(local_44 & 6)" ( (binary_expression "local_44 & 6" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) (expression_statement "local_d4 = puVar32[1];" (assignment_expression "local_d4 = puVar32[1]" identifier = (subscript_expression "puVar32[1]" identifier [ number_literal ])) ;) (if_statement "if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;" if (parenthesized_expression "(((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0))" ( (binary_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)" (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0)" ( (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2)" ( (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" * (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" ( (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" & identifier) + (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < local_d4)" ( (binary_expression "1 < local_d4" number_literal < identifier) ))) * number_literal)) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)" ( (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4)" ( (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" * (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" ( (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" & identifier) + (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < local_d4)" ( (binary_expression "1 < local_d4" number_literal < identifier) ))) * number_literal)) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }" statement_identifier : (if_statement "if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }" if (parenthesized_expression "(local_d4 == 0)" ( (binary_expression "local_d4 == 0" identifier == number_literal) )) (compound_statement "{\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }" { (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" identifier = (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0004bec6;" goto statement_identifier ;) }))) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (if_statement "if (DAT_00089092 != '\0') {\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }" if (parenthesized_expression "(DAT_00089092 != '\0')" ( (binary_expression "DAT_00089092 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }" { (if_statement "if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }" if (parenthesized_expression "(DAT_00088f0c == 1)" ( (binary_expression "DAT_00088f0c == 1" identifier == number_literal) )) (compound_statement "{\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }" { (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (do_statement "do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);" do (compound_statement "{\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      }" { (if_statement "if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }" if (parenthesized_expression "((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0)" ( (binary_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0" (parenthesized_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2)" ( (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }" { (expression_statement "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;" (assignment_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4" (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;) })) (expression_statement "local_d8 = local_d8 + 1;" (assignment_expression "local_d8 = local_d8 + 1" identifier = (binary_expression "local_d8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_d8 != 5)" ( (binary_expression "local_d8 != 5" identifier != number_literal) )) ;) }) (else_clause "else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }" else (compound_statement "{\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }" { (expression_statement "local_d8 = DAT_00088f0c;" (assignment_expression "local_d8 = DAT_00088f0c" identifier = identifier) ;) (if_statement "if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" if (parenthesized_expression "(DAT_00088f0c == 0)" ( (binary_expression "DAT_00088f0c == 0" identifier == number_literal) )) (compound_statement "{\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" { (do_statement "do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);" do (compound_statement "{\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        }" { (if_statement "if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }" if (parenthesized_expression "((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0)" ( (binary_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0" (parenthesized_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4)" ( (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }" { (expression_statement "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;" (assignment_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2" (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;) })) (expression_statement "local_d8 = local_d8 + 1;" (assignment_expression "local_d8 = local_d8 + 1" identifier = (binary_expression "local_d8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_d8 != 5)" ( (binary_expression "local_d8 != 5" identifier != number_literal) )) ;) }) (else_clause "else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" else (compound_statement "{\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" { (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (if_statement "if (DAT_00088f0c != 2) goto LAB_0004c3ff;" if (parenthesized_expression "(DAT_00088f0c != 2)" ( (binary_expression "DAT_00088f0c != 2" identifier != number_literal) )) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;)) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (do_statement "do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);" do (compound_statement "{\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        }" { (if_statement "if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }" if (parenthesized_expression "((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10)" ( (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }" { (expression_statement "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;" (assignment_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4" (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;) })) (expression_statement "local_d8 = local_d8 + 1;" (assignment_expression "local_d8 = local_d8 + 1" identifier = (binary_expression "local_d8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_d8 != 5)" ( (binary_expression "local_d8 != 5" identifier != number_literal) )) ;) }))) }))) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) })) (labeled_statement "LAB_0004c3ff:\n  if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;" statement_identifier : (if_statement "if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;" if (parenthesized_expression "((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0))" ( (binary_expression "(DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)" (parenthesized_expression "(DAT_00089060 == 0x164)" ( (binary_expression "DAT_00089060 == 0x164" identifier == number_literal) )) && (parenthesized_expression "(puVar32[2] == 0xa0)" ( (binary_expression "puVar32[2] == 0xa0" (subscript_expression "puVar32[2]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;))) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (if_statement "if ((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) {\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }" if (parenthesized_expression "((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + 0x25) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + 0x25)" * (cast_expression "(byte *)((int)puVar32 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }" { (expression_statement "local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;" (assignment_expression "local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1" identifier = (binary_expression "(1 << ((byte)local_d4 & 0x1f)) - 1" (parenthesized_expression "(1 << ((byte)local_d4 & 0x1f))" ( (binary_expression "1 << ((byte)local_d4 & 0x1f)" number_literal << (parenthesized_expression "((byte)local_d4 & 0x1f)" ( (binary_expression "(byte)local_d4 & 0x1f" (cast_expression "(byte)local_d4" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) - number_literal)) ;) (if_statement "if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }" if (parenthesized_expression "(DAT_000890cc != (int *)0x0)" ( (binary_expression "DAT_000890cc != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }" { (expression_statement "local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));" (assignment_expression "local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f))" identifier = (binary_expression "local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f))" identifier & (unary_expression "~(1 << ((byte)DAT_000890cc[1] & 0x1f))" ~ (parenthesized_expression "(1 << ((byte)DAT_000890cc[1] & 0x1f))" ( (binary_expression "1 << ((byte)DAT_000890cc[1] & 0x1f)" number_literal << (parenthesized_expression "((byte)DAT_000890cc[1] & 0x1f)" ( (binary_expression "(byte)DAT_000890cc[1] & 0x1f" (cast_expression "(byte)DAT_000890cc[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "DAT_000890cc[1]" identifier [ number_literal ])) & number_literal) ))) ))))) ;) })) })) (expression_statement "uVar20 = DAT_00089010 & local_44;" (assignment_expression "uVar20 = DAT_00089010 & local_44" identifier = (binary_expression "DAT_00089010 & local_44" identifier & identifier)) ;) (expression_statement "bVar17 = (byte)(uVar20 >> 0x10);" (assignment_expression "bVar17 = (byte)(uVar20 >> 0x10)" identifier = (call_expression "(byte)(uVar20 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar20 >> 0x10)" ( (binary_expression "uVar20 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "local_8c = (byte)(uVar20 >> 0x18);" (assignment_expression "local_8c = (byte)(uVar20 >> 0x18)" identifier = (call_expression "(byte)(uVar20 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar20 >> 0x18)" ( (binary_expression "uVar20 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "bVar29 = (byte)(DAT_00089010 >> 0x18);" (assignment_expression "bVar29 = (byte)(DAT_00089010 >> 0x18)" identifier = (call_expression "(byte)(DAT_00089010 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_00089010 >> 0x18)" ( (binary_expression "DAT_00089010 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "bVar18 = (byte)(DAT_00089018 >> 0x10);" (assignment_expression "bVar18 = (byte)(DAT_00089018 >> 0x10)" identifier = (call_expression "(byte)(DAT_00089018 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_00089018 >> 0x10)" ( (binary_expression "DAT_00089018 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "bVar30 = (byte)(DAT_00089018 >> 0x18);" (assignment_expression "bVar30 = (byte)(DAT_00089018 >> 0x18)" identifier = (call_expression "(byte)(DAT_00089018 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_00089018 >> 0x18)" ( (binary_expression "DAT_00089018 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "local_c8 = (byte)DAT_00089014;" (assignment_expression "local_c8 = (byte)DAT_00089014" identifier = (cast_expression "(byte)DAT_00089014" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar28 = local_dc;" (assignment_expression "uVar28 = local_dc" identifier = identifier) ;) (switch_statement "switch(local_d4) {\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }" switch (parenthesized_expression "(local_d4)" ( identifier )) (compound_statement "{\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }" { (case_statement "default:\n    goto LAB_0004c685;" default : (goto_statement "goto LAB_0004c685;" goto statement_identifier ;)) (case_statement "case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;" case number_literal : (if_statement "if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;" if (parenthesized_expression "(((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))" ( (binary_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)" (parenthesized_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0)" ( (binary_expression "(uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0" (binary_expression "(uVar20 & 0x1dffffff) != 0" (parenthesized_expression "(uVar20 & 0x1dffffff)" ( (binary_expression "uVar20 & 0x1dffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(DAT_00089014 & local_40 & 0xffffff80) != 0" (parenthesized_expression "(DAT_00089014 & local_40 & 0xffffff80)" ( (binary_expression "DAT_00089014 & local_40 & 0xffffff80" (binary_expression "DAT_00089014 & local_40" identifier & identifier) & number_literal) )) != number_literal)) )) && (parenthesized_expression "(((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)" ( (binary_expression "((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0" (binary_expression "((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0" (parenthesized_expression "((DAT_00089010._2_1_ ^ bVar17) & 0x40)" ( (binary_expression "(DAT_00089010._2_1_ ^ bVar17) & 0x40" (parenthesized_expression "(DAT_00089010._2_1_ ^ bVar17)" ( (binary_expression "DAT_00089010._2_1_ ^ bVar17" (field_expression "DAT_00089010._2_1_" identifier . field_identifier) ^ identifier) )) & number_literal) )) == number_literal) && (binary_expression "((bVar29 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar29 ^ local_8c) & 2)" ( (binary_expression "(bVar29 ^ local_8c) & 2" (parenthesized_expression "(bVar29 ^ local_8c)" ( (binary_expression "bVar29 ^ local_8c" identifier ^ identifier) )) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0004c685;" goto statement_identifier ;)) (goto_statement "goto code_r0x0004c880;" goto statement_identifier ;)) (case_statement "case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;" case number_literal : (if_statement "if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;" if (parenthesized_expression "(DAT_00088f0c == 2)" ( (binary_expression "DAT_00088f0c == 2" identifier == number_literal) )) (compound_statement "{\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }" { (if_statement "if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;" if (parenthesized_expression "((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4))))" ( (binary_expression "(((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))" (parenthesized_expression "(((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5))" ( (binary_expression "((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)" (parenthesized_expression "((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4))" ( (binary_expression "(puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)" (parenthesized_expression "(puVar32[2] == 0x90)" ( (binary_expression "puVar32[2] == 0x90" (subscript_expression "puVar32[2]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(DAT_00089014 == _UNK_000654f4)" ( (binary_expression "DAT_00089014 == _UNK_000654f4" identifier == identifier) ))) )) && (parenthesized_expression "(DAT_00089010 == uVar5)" ( (binary_expression "DAT_00089010 == uVar5" identifier == identifier) ))) )) && (parenthesized_expression "((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))" ( (parenthesized_expression "(DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4))" ( (binary_expression "DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)" (binary_expression "DAT_00089018 == uVar5" identifier == identifier) && (parenthesized_expression "(DAT_0008901c == _UNK_000654f4)" ( (binary_expression "DAT_0008901c == _UNK_000654f4" identifier == identifier) ))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) }) (else_clause "else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;" else (if_statement "if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;" if (parenthesized_expression "(((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0))" ( (binary_expression "((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)" (parenthesized_expression "((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0))))" ( (binary_expression "(DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))" (parenthesized_expression "(DAT_000890ec != 0)" ( (binary_expression "DAT_000890ec != 0" identifier != number_literal) )) && (parenthesized_expression "((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))" ( (parenthesized_expression "(puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0))" ( (binary_expression "puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)" (binary_expression "puVar32[2] == 0xa0" (subscript_expression "puVar32[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((DAT_00089010 & 0x200000) != 0)" ( (binary_expression "(DAT_00089010 & 0x200000) != 0" (parenthesized_expression "(DAT_00089010 & 0x200000)" ( (binary_expression "DAT_00089010 & 0x200000" identifier & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "((DAT_00089018 & 0x5f0000) != 0)" ( (binary_expression "(DAT_00089018 & 0x5f0000) != 0" (parenthesized_expression "(DAT_00089018 & 0x5f0000)" ( (binary_expression "DAT_00089018 & 0x5f0000" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)))) (if_statement "if (DAT_000890d4 != 2) goto code_r0x0004c54a;" if (parenthesized_expression "(DAT_000890d4 != 2)" ( (binary_expression "DAT_000890d4 != 2" identifier != number_literal) )) (goto_statement "goto code_r0x0004c54a;" goto statement_identifier ;)) (expression_statement "bVar4 = *(byte *)(puVar32 + 9);" (assignment_expression "bVar4 = *(byte *)(puVar32 + 9)" identifier = (pointer_expression "*(byte *)(puVar32 + 9)" * (cast_expression "(byte *)(puVar32 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 9)" ( (binary_expression "puVar32 + 9" identifier + number_literal) ))))) ;) (if_statement "if ((bVar4 & 1) == 0) goto code_r0x0004c538;" if (parenthesized_expression "((bVar4 & 1) == 0)" ( (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto code_r0x0004c538;" goto statement_identifier ;)) (goto_statement "goto code_r0x0004c7fc;" goto statement_identifier ;)) (case_statement "case 3:\n    break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 5:\n    goto code_r0x0004c54a;" case number_literal : (goto_statement "goto code_r0x0004c54a;" goto statement_identifier ;)) })) (if_statement "if (DAT_000890d4 == 2) {\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }" if (parenthesized_expression "(DAT_000890d4 == 2)" ( (binary_expression "DAT_000890d4 == 2" identifier == number_literal) )) (compound_statement "{\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }" { (labeled_statement "code_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;" statement_identifier : (if_statement "if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;" if (parenthesized_expression "((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0))" ( (binary_expression "(DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)" (parenthesized_expression "(DAT_00089008 == 0)" ( (binary_expression "DAT_00089008 == 0" identifier == number_literal) )) && (parenthesized_expression "((*(byte *)(puVar32 + 9) & 4) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 9) & 4) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 9) & 4)" ( (binary_expression "*(byte *)(puVar32 + 9) & 4" (pointer_expression "*(byte *)(puVar32 + 9)" * (cast_expression "(byte *)(puVar32 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 9)" ( (binary_expression "puVar32 + 9" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;))) })) (labeled_statement "code_r0x0004c54a:\n  if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }" statement_identifier : (if_statement "if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }" if (parenthesized_expression "(((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0))))" ( (binary_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))" (parenthesized_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0)" ( (binary_expression "(uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0" (binary_expression "(uVar20 & 0x1dffffff) != 0" (parenthesized_expression "(uVar20 & 0x1dffffff)" ( (binary_expression "uVar20 & 0x1dffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(DAT_00089014 & local_40 & 0xffffff80) != 0" (parenthesized_expression "(DAT_00089014 & local_40 & 0xffffff80)" ( (binary_expression "DAT_00089014 & local_40 & 0xffffff80" (binary_expression "DAT_00089014 & local_40" identifier & identifier) & number_literal) )) != number_literal)) )) && (parenthesized_expression "(((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))" ( (parenthesized_expression "((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0))" ( (binary_expression "(((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)" (parenthesized_expression "(((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0))" ( (binary_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)" (binary_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0" (binary_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0" (parenthesized_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40)" ( (binary_expression "(bVar17 ^ DAT_00089010._2_1_) & 0x40" (parenthesized_expression "(bVar17 ^ DAT_00089010._2_1_)" ( (binary_expression "bVar17 ^ DAT_00089010._2_1_" identifier ^ (field_expression "DAT_00089010._2_1_" identifier . field_identifier)) )) & number_literal) )) == number_literal) && (binary_expression "((bVar29 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar29 ^ local_8c) & 2)" ( (binary_expression "(bVar29 ^ local_8c) & 2" (parenthesized_expression "(bVar29 ^ local_8c)" ( (binary_expression "bVar29 ^ local_8c" identifier ^ identifier) )) & number_literal) )) == number_literal)) && (parenthesized_expression "(uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)" ( (comma_expression "uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0" (assignment_expression "uVar20 = DAT_00089018 & local_3c" identifier = (binary_expression "DAT_00089018 & local_3c" identifier & identifier)) , (binary_expression "(uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0" (binary_expression "(uVar20 & 0x1dffffff) != 0" (parenthesized_expression "(uVar20 & 0x1dffffff)" ( (binary_expression "uVar20 & 0x1dffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(DAT_0008901c & local_38 & 0xffffff80) != 0" (parenthesized_expression "(DAT_0008901c & local_38 & 0xffffff80)" ( (binary_expression "DAT_0008901c & local_38 & 0xffffff80" (binary_expression "DAT_0008901c & local_38" identifier & identifier) & number_literal) )) != number_literal))) ))) )) && (parenthesized_expression "(local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)" ( (comma_expression "local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0" (assignment_expression "local_8c = (byte)(uVar20 >> 0x18)" identifier = (call_expression "(byte)(uVar20 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar20 >> 0x18)" ( (binary_expression "uVar20 >> 0x18" identifier >> number_literal) )))) , (binary_expression "(((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0" (binary_expression "(((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0" (parenthesized_expression "(((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40)" ( (binary_expression "((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40" (parenthesized_expression "((byte)(uVar20 >> 0x10) ^ bVar18)" ( (binary_expression "(byte)(uVar20 >> 0x10) ^ bVar18" (call_expression "(byte)(uVar20 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar20 >> 0x10)" ( (binary_expression "uVar20 >> 0x10" identifier >> number_literal) ))) ^ identifier) )) & number_literal) )) == number_literal) && (binary_expression "((bVar30 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar30 ^ local_8c) & 2)" ( (binary_expression "(bVar30 ^ local_8c) & 2" (parenthesized_expression "(bVar30 ^ local_8c)" ( (binary_expression "bVar30 ^ local_8c" identifier ^ identifier) )) & number_literal) )) == number_literal))) ))) )) ))) )) (compound_statement "{\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }" { (if_statement "if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }" if (parenthesized_expression "((local_d0 & 3) == 3)" ( (binary_expression "(local_d0 & 3) == 3" (parenthesized_expression "(local_d0 & 3)" ( (binary_expression "local_d0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }" { (if_statement "if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }" if (parenthesized_expression "((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))))))))" ( (binary_expression "(((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))" (parenthesized_expression "(((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0))))" ( (binary_expression "((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))" (parenthesized_expression "((DAT_00089010 & 5) != 0)" ( (binary_expression "(DAT_00089010 & 5) != 0" (parenthesized_expression "(DAT_00089010 & 5)" ( (binary_expression "DAT_00089010 & 5" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))" ( (parenthesized_expression "(((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0))" ( (binary_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)" (parenthesized_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0))" ( (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)" (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089010 >> 0x10 & 0x5f)" ( (binary_expression "DAT_00089010 >> 0x10 & 0x5f" (binary_expression "DAT_00089010 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_00089014 & 0x40) == 0)" ( (binary_expression "(DAT_00089014 & 0x40) == 0" (parenthesized_expression "(DAT_00089014 & 0x40)" ( (binary_expression "DAT_00089014 & 0x40" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((local_44 & 4) != 0)" ( (binary_expression "(local_44 & 4) != 0" (parenthesized_expression "(local_44 & 4)" ( (binary_expression "local_44 & 4" identifier & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))" ( (parenthesized_expression "(((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))))))" ( (binary_expression "((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))" (parenthesized_expression "((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0))))" ( (binary_expression "(DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))" (binary_expression "(DAT_00089018 & 5) != 0" (parenthesized_expression "(DAT_00089018 & 5)" ( (binary_expression "DAT_00089018 & 5" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))" ( (parenthesized_expression "(((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0))" ( (binary_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)" (parenthesized_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0))" ( (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)" (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089018 >> 0x10 & 0x5f)" ( (binary_expression "DAT_00089018 >> 0x10 & 0x5f" (binary_expression "DAT_00089018 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_0008901c & 0x40) == 0)" ( (binary_expression "(DAT_0008901c & 0x40) == 0" (parenthesized_expression "(DAT_0008901c & 0x40)" ( (binary_expression "DAT_0008901c & 0x40" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((local_3c & 4) != 0)" ( (binary_expression "(local_3c & 4) != 0" (parenthesized_expression "(local_3c & 4)" ( (binary_expression "local_3c & 4" identifier & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))" ( (parenthesized_expression "(((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))))" ( (binary_expression "((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))" (parenthesized_expression "((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0))" ( (binary_expression "(char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)" (binary_expression "(char)(bVar30 ^ bVar29) < '\0'" (cast_expression "(char)(bVar30 ^ bVar29)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bVar30 ^ bVar29)" ( (binary_expression "bVar30 ^ bVar29" identifier ^ identifier) ))) < (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)" ( (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0" (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0" (parenthesized_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a)" ( (binary_expression "(local_c8 ^ (byte)DAT_0008901c) & 0x3a" (parenthesized_expression "(local_c8 ^ (byte)DAT_0008901c)" ( (binary_expression "local_c8 ^ (byte)DAT_0008901c" identifier ^ (cast_expression "(byte)DAT_0008901c" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) != number_literal) || (binary_expression "((bVar30 ^ bVar29) & 0x60) != 0" (parenthesized_expression "((bVar30 ^ bVar29) & 0x60)" ( (binary_expression "(bVar30 ^ bVar29) & 0x60" (parenthesized_expression "(bVar30 ^ bVar29)" ( (binary_expression "bVar30 ^ bVar29" identifier ^ identifier) )) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))" ( (parenthesized_expression "(((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))" ( (binary_expression "((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))" (parenthesized_expression "((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0))))" ( (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))" (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0" (parenthesized_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1)" ( (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1" (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5" (binary_expression "bStack_39 >> 5 & 1" (binary_expression "bStack_39 >> 5" identifier >> number_literal) & number_literal) & (binary_expression "local_44._3_1_ >> 5" (field_expression "local_44._3_1_" identifier . field_identifier) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))" ( (parenthesized_expression "(((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0))" ( (binary_expression "((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)" (parenthesized_expression "((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0'))" ( (binary_expression "(bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')" (binary_expression "(bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0" (parenthesized_expression "(bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1)" ( (binary_expression "bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1" (binary_expression "bStack_39 >> 6 & 1 & local_44._3_1_ >> 6" (binary_expression "bStack_39 >> 6 & 1" (binary_expression "bStack_39 >> 6" identifier >> number_literal) & number_literal) & (binary_expression "local_44._3_1_ >> 6" (field_expression "local_44._3_1_" identifier . field_identifier) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((char)(bStack_39 & local_44._3_1_) < '\0')" ( (binary_expression "(char)(bStack_39 & local_44._3_1_) < '\0'" (cast_expression "(char)(bStack_39 & local_44._3_1_)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bStack_39 & local_44._3_1_)" ( (binary_expression "bStack_39 & local_44._3_1_" identifier & (field_expression "local_44._3_1_" identifier . field_identifier)) ))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)" ( (binary_expression "((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1)" ( (binary_expression "(byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1" (binary_expression "(byte)local_40 >> 1 & 1 & (byte)local_38 >> 1" (binary_expression "(byte)local_40 >> 1 & 1" (binary_expression "(byte)local_40 >> 1" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_38 >> 1" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))" ( (parenthesized_expression "((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))" ( (binary_expression "(((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)" (parenthesized_expression "(((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0))" ( (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1)" ( (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1" (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3" (binary_expression "(byte)local_38 >> 3 & 1" (binary_expression "(byte)local_38 >> 3" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_40 >> 3" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "(((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" ( (binary_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1)" ( (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1" (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4" (binary_expression "(byte)local_40 >> 4 & 1" (binary_expression "(byte)local_40 >> 4" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_38 >> 4" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)" ( (binary_expression "((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1)" ( (binary_expression "(byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1" (binary_expression "(byte)local_38 >> 5 & 1 & (byte)local_40 >> 5" (binary_expression "(byte)local_38 >> 5 & 1" (binary_expression "(byte)local_38 >> 5" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_40 >> 5" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }" { (expression_statement "DAT_000890f8 = 2;" (assignment_expression "DAT_000890f8 = 2" identifier = number_literal) ;) (goto_statement "goto code_r0x0004c7ec;" goto statement_identifier ;) })) })) (if_statement "if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }" if (parenthesized_expression "(local_d4 == 4)" ( (binary_expression "local_d4 == 4" identifier == number_literal) )) (compound_statement "{\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }" { (labeled_statement "code_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;" statement_identifier : (expression_statement "uStack_98 = uRam0008902c & uStack_28;" (assignment_expression "uStack_98 = uRam0008902c & uStack_28" identifier = (binary_expression "uRam0008902c & uStack_28" identifier & identifier)) ;)) (expression_statement "uStack_a4 = uRam00089028 & uStack_2c;" (assignment_expression "uStack_a4 = uRam00089028 & uStack_2c" identifier = (binary_expression "uRam00089028 & uStack_2c" identifier & identifier)) ;) (labeled_statement "code_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;" statement_identifier : (expression_statement "uStack_9c = _DAT_00089024 & uStack_30;" (assignment_expression "uStack_9c = _DAT_00089024 & uStack_30" identifier = (binary_expression "_DAT_00089024 & uStack_30" identifier & identifier)) ;)) (expression_statement "uStack_a0 = uStack_34 & _DAT_00089020;" (assignment_expression "uStack_a0 = uStack_34 & _DAT_00089020" identifier = (binary_expression "uStack_34 & _DAT_00089020" identifier & identifier)) ;) }) (else_clause "else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }" else (compound_statement "{\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }" { (if_statement "if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }" if (parenthesized_expression "(local_d4 == 5)" ( (binary_expression "local_d4 == 5" identifier == number_literal) )) (compound_statement "{\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }" { (expression_statement "uStack_94 = DAT_00089034 & uStack_20;" (assignment_expression "uStack_94 = DAT_00089034 & uStack_20" identifier = (binary_expression "DAT_00089034 & uStack_20" identifier & identifier)) ;) (expression_statement "uStack_90 = _DAT_00089030 & uStack_24;" (assignment_expression "uStack_90 = _DAT_00089030 & uStack_24" identifier = (binary_expression "_DAT_00089030 & uStack_24" identifier & identifier)) ;) (goto_statement "goto code_r0x0004d03b;" goto statement_identifier ;) })) (if_statement "if (local_d4 == 3) goto code_r0x0004d05d;" if (parenthesized_expression "(local_d4 == 3)" ( (binary_expression "local_d4 == 3" identifier == number_literal) )) (goto_statement "goto code_r0x0004d05d;" goto statement_identifier ;)) }))) (if_statement "if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" if (parenthesized_expression "(local_d4 == 4)" ( (binary_expression "local_d4 == 4" identifier == number_literal) )) (compound_statement "{\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }" { (labeled_statement "code_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }" statement_identifier : (if_statement "if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }" if (parenthesized_expression "(((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0))" ( (binary_expression "((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)" (parenthesized_expression "((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0)" ( (binary_expression "(uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0" (binary_expression "(uStack_a4 & 0xffffff) != 0" (parenthesized_expression "(uStack_a4 & 0xffffff)" ( (binary_expression "uStack_a4 & 0xffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_a4 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(uStack_a4 >> 0x18 & 0x1d)" ( (binary_expression "uStack_a4 >> 0x18 & 0x1d" (binary_expression "uStack_a4 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal)) )) || (parenthesized_expression "((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)" ( (binary_expression "(uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0" (binary_expression "(uStack_98 & 0x80) != 0" (parenthesized_expression "(uStack_98 & 0x80)" ( (binary_expression "uStack_98 & 0x80" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_98 & 0xffffff00) != 0" (parenthesized_expression "(uStack_98 & 0xffffff00)" ( (binary_expression "uStack_98 & 0xffffff00" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }" { (expression_statement "uVar20 = uRam00089028 >> 0x18;" (assignment_expression "uVar20 = uRam00089028 >> 0x18" identifier = (binary_expression "uRam00089028 >> 0x18" identifier >> number_literal)) ;) (expression_statement "local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);" (assignment_expression "local_d4._0_1_ = (byte)(uStack_a4 >> 0x18)" (field_expression "local_d4._0_1_" identifier . field_identifier) = (call_expression "(byte)(uStack_a4 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_a4 >> 0x18)" ( (binary_expression "uStack_a4 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }" if (parenthesized_expression "((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0)" ( (binary_expression "(((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0" (binary_expression "(((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40)" ( (binary_expression "((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40" (parenthesized_expression "((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10))" ( (binary_expression "(byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)" (call_expression "(byte)(uStack_a4 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_a4 >> 0x10)" ( (binary_expression "uStack_a4 >> 0x10" identifier >> number_literal) ))) ^ (call_expression "(byte)(uRam00089028 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uRam00089028 >> 0x10)" ( (binary_expression "uRam00089028 >> 0x10" identifier >> number_literal) )))) )) & number_literal) )) == number_literal) && (binary_expression "(((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0" (parenthesized_expression "(((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2)" ( (binary_expression "((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2" (parenthesized_expression "((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4)" ( (binary_expression "(byte)(uRam00089028 >> 0x18) ^ (byte)local_d4" (call_expression "(byte)(uRam00089028 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uRam00089028 >> 0x18)" ( (binary_expression "uRam00089028 >> 0x18" identifier >> number_literal) ))) ^ (cast_expression "(byte)local_d4" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) == number_literal)) )) (compound_statement "{\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }" { (if_statement "if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;" if (parenthesized_expression "((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0))))" ( (binary_expression "(((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))" (parenthesized_expression "(((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0))" ( (binary_expression "((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)" (parenthesized_expression "((local_d0 & 10) == 10)" ( (binary_expression "(local_d0 & 10) == 10" (parenthesized_expression "(local_d0 & 10)" ( (binary_expression "local_d0 & 10" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)" ( (comma_expression "iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20)" identifier = (call_expression "FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20)" identifier (argument_list "(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) , (comma_expression "uVar20 = extraout_ECX, iVar19 == 0" (assignment_expression "uVar20 = extraout_ECX" identifier = identifier) , (binary_expression "iVar19 == 0" identifier == number_literal))) ))) )) || (parenthesized_expression "(((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))" ( (parenthesized_expression "((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0))" ( (binary_expression "(local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)" (binary_expression "(local_d0 & 0xc) == 0xc" (parenthesized_expression "(local_d0 & 0xc)" ( (binary_expression "local_d0 & 0xc" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)" ( (comma_expression "iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20)" identifier = (call_expression "FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20)" identifier (argument_list "(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (goto_statement "goto code_r0x0004d445;" goto statement_identifier ;) })) }))) }) (else_clause "else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" else (if_statement "if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" if (parenthesized_expression "(local_d4 == 5)" ( (binary_expression "local_d4 == 5" identifier == number_literal) )) (compound_statement "{\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }" { (if_statement "if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }" if (parenthesized_expression "(((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0))" ( (binary_expression "((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)" (parenthesized_expression "((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0)" ( (binary_expression "(uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0" (binary_expression "(uStack_90 & 0xffffff) != 0" (parenthesized_expression "(uStack_90 & 0xffffff)" ( (binary_expression "uStack_90 & 0xffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_90 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(uStack_90 >> 0x18 & 0x1d)" ( (binary_expression "uStack_90 >> 0x18 & 0x1d" (binary_expression "uStack_90 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal)) )) || (parenthesized_expression "((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)" ( (binary_expression "(uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0" (binary_expression "(uStack_94 & 0x80) != 0" (parenthesized_expression "(uStack_94 & 0x80)" ( (binary_expression "uStack_94 & 0x80" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_94 & 0xffffff00) != 0" (parenthesized_expression "(uStack_94 & 0xffffff00)" ( (binary_expression "uStack_94 & 0xffffff00" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }" { (expression_statement "local_d4._0_1_ = (byte)(uStack_90 >> 0x18);" (assignment_expression "local_d4._0_1_ = (byte)(uStack_90 >> 0x18)" (field_expression "local_d4._0_1_" identifier . field_identifier) = (call_expression "(byte)(uStack_90 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_90 >> 0x18)" ( (binary_expression "uStack_90 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }" if (parenthesized_expression "((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0)" ( (binary_expression "(((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0" (binary_expression "(((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40)" ( (binary_expression "((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40" (parenthesized_expression "((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10))" ( (binary_expression "(byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)" (call_expression "(byte)(uStack_90 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_90 >> 0x10)" ( (binary_expression "uStack_90 >> 0x10" identifier >> number_literal) ))) ^ (call_expression "(byte)(_DAT_00089030 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(_DAT_00089030 >> 0x10)" ( (binary_expression "_DAT_00089030 >> 0x10" identifier >> number_literal) )))) )) & number_literal) )) == number_literal) && (binary_expression "(((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0" (parenthesized_expression "(((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2)" ( (binary_expression "((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2" (parenthesized_expression "((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4)" ( (binary_expression "(byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4" (call_expression "(byte)(_DAT_00089030 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(_DAT_00089030 >> 0x18)" ( (binary_expression "_DAT_00089030 >> 0x18" identifier >> number_literal) ))) ^ (cast_expression "(byte)local_d4" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) == number_literal)) )) (compound_statement "{\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }" { (expression_statement "iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);" (assignment_expression "iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18)" identifier = (call_expression "FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18)" identifier (argument_list "(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18)" ( identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "_DAT_00089030 >> 0x18" identifier >> number_literal) , (binary_expression "_DAT_00089030 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if (iVar19 == 0) goto LAB_0004ba48;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (goto_statement "goto code_r0x0004d3b2;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" else (compound_statement "{\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" { (if_statement "if (local_d4 != 3) goto LAB_0004c685;" if (parenthesized_expression "(local_d4 != 3)" ( (binary_expression "local_d4 != 3" identifier != number_literal) )) (goto_statement "goto LAB_0004c685;" goto statement_identifier ;)) (labeled_statement "code_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }" statement_identifier : (if_statement "if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }" if (parenthesized_expression "(((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0))" ( (binary_expression "((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)" (parenthesized_expression "((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0)" ( (binary_expression "(uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0" (binary_expression "(uStack_a0 & 0xffffff) != 0" (parenthesized_expression "(uStack_a0 & 0xffffff)" ( (binary_expression "uStack_a0 & 0xffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_a0 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(uStack_a0 >> 0x18 & 0x1d)" ( (binary_expression "uStack_a0 >> 0x18 & 0x1d" (binary_expression "uStack_a0 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal)) )) || (parenthesized_expression "((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)" ( (binary_expression "(uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0" (binary_expression "(uStack_9c & 0x80) != 0" (parenthesized_expression "(uStack_9c & 0x80)" ( (binary_expression "uStack_9c & 0x80" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_9c & 0xffffff00) != 0" (parenthesized_expression "(uStack_9c & 0xffffff00)" ( (binary_expression "uStack_9c & 0xffffff00" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }" { (expression_statement "uVar20 = _DAT_00089020 >> 0x18;" (assignment_expression "uVar20 = _DAT_00089020 >> 0x18" identifier = (binary_expression "_DAT_00089020 >> 0x18" identifier >> number_literal)) ;) (expression_statement "local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);" (assignment_expression "local_d4._0_1_ = (byte)(uStack_a0 >> 0x18)" (field_expression "local_d4._0_1_" identifier . field_identifier) = (call_expression "(byte)(uStack_a0 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_a0 >> 0x18)" ( (binary_expression "uStack_a0 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }" if (parenthesized_expression "((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0)" ( (binary_expression "(((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0" (binary_expression "(((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40)" ( (binary_expression "((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40" (parenthesized_expression "((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10))" ( (binary_expression "(byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)" (call_expression "(byte)(uStack_a0 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_a0 >> 0x10)" ( (binary_expression "uStack_a0 >> 0x10" identifier >> number_literal) ))) ^ (call_expression "(byte)(_DAT_00089020 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(_DAT_00089020 >> 0x10)" ( (binary_expression "_DAT_00089020 >> 0x10" identifier >> number_literal) )))) )) & number_literal) )) == number_literal) && (binary_expression "(((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0" (parenthesized_expression "(((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2)" ( (binary_expression "((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2" (parenthesized_expression "((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4)" ( (binary_expression "(byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4" (call_expression "(byte)(_DAT_00089020 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(_DAT_00089020 >> 0x18)" ( (binary_expression "_DAT_00089020 >> 0x18" identifier >> number_literal) ))) ^ (cast_expression "(byte)local_d4" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) == number_literal)) )) (compound_statement "{\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }" { (if_statement "if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;" if (parenthesized_expression "((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))" ( (binary_expression "(((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)))" (parenthesized_expression "(((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              ))" ( (binary_expression "((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )" (parenthesized_expression "((local_d0 & 5) == 5)" ( (binary_expression "(local_d0 & 5) == 5" (parenthesized_expression "(local_d0 & 5)" ( (binary_expression "local_d0 & 5" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )" ( (comma_expression "iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20)" identifier = (call_expression "FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20)" identifier (argument_list "(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) , (comma_expression "uVar20 = extraout_ECX_00, iVar19 == 0" (assignment_expression "uVar20 = extraout_ECX_00" identifier = identifier) , (binary_expression "iVar19 == 0" identifier == number_literal))) ))) )) || (parenthesized_expression "(((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)))" ( (parenthesized_expression "((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))" ( (binary_expression "(local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)" (binary_expression "(local_d0 & 6) == 6" (parenthesized_expression "(local_d0 & 6)" ( (binary_expression "local_d0 & 6" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)" ( (comma_expression "iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20)" identifier = (call_expression "FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20)" identifier (argument_list "(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (goto_statement "goto LAB_0004c685;" goto statement_identifier ;) })) }))) }))))) (labeled_statement "code_r0x0004c880:\n    DAT_000890f8 = 1;" statement_identifier : (expression_statement "DAT_000890f8 = 1;" (assignment_expression "DAT_000890f8 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) }))) (expression_statement "DAT_000890f8 = 1;" (assignment_expression "DAT_000890f8 = 1" identifier = number_literal) ;) (labeled_statement "code_r0x0004c7ec:\n  bVar4 = *(byte *)(puVar32 + 9);" statement_identifier : (expression_statement "bVar4 = *(byte *)(puVar32 + 9);" (assignment_expression "bVar4 = *(byte *)(puVar32 + 9)" identifier = (pointer_expression "*(byte *)(puVar32 + 9)" * (cast_expression "(byte *)(puVar32 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 9)" ( (binary_expression "puVar32 + 9" identifier + number_literal) ))))) ;)) (if_statement "if ((bVar4 & 1) == 0) goto LAB_0004ba48;" if (parenthesized_expression "((bVar4 & 1) == 0)" ( (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (labeled_statement "code_r0x0004c7fc:\n  uVar28 = DAT_00089010 & local_3c;" statement_identifier : (expression_statement "uVar28 = DAT_00089010 & local_3c;" (assignment_expression "uVar28 = DAT_00089010 & local_3c" identifier = (binary_expression "DAT_00089010 & local_3c" identifier & identifier)) ;)) (if_statement "if (((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))\n  goto code_r0x0004c880;" if (parenthesized_expression "(((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))" ( (binary_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0)" (parenthesized_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0)" ( (binary_expression "(uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0" (binary_expression "(uVar28 & 0xffffff) == 0" (parenthesized_expression "(uVar28 & 0xffffff)" ( (binary_expression "uVar28 & 0xffffff" identifier & number_literal) )) == number_literal) && (binary_expression "(uVar28 >> 0x18 & 0x1d) == 0" (parenthesized_expression "(uVar28 >> 0x18 & 0x1d)" ( (binary_expression "uVar28 >> 0x18 & 0x1d" (binary_expression "uVar28 >> 0x18" identifier >> number_literal) & number_literal) )) == number_literal)) )) && (parenthesized_expression "((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0)" ( (binary_expression "(DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0" (binary_expression "(DAT_00089014 & local_38 & 0xffffff00) == 0" (parenthesized_expression "(DAT_00089014 & local_38 & 0xffffff00)" ( (binary_expression "DAT_00089014 & local_38 & 0xffffff00" (binary_expression "DAT_00089014 & local_38" identifier & identifier) & number_literal) )) == number_literal) && (binary_expression "(DAT_00089014 & local_38 & 0x80) == 0" (parenthesized_expression "(DAT_00089014 & local_38 & 0x80)" ( (binary_expression "DAT_00089014 & local_38 & 0x80" (binary_expression "DAT_00089014 & local_38" identifier & identifier) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto code_r0x0004c880;" goto statement_identifier ;)) (expression_statement "local_c0 = (byte)(uVar28 >> 0x18);" (assignment_expression "local_c0 = (byte)(uVar28 >> 0x18)" identifier = (call_expression "(byte)(uVar28 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar28 >> 0x18)" ( (binary_expression "uVar28 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))\n  goto code_r0x0004c880;" if (parenthesized_expression "((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))" ( (binary_expression "(((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0)" (parenthesized_expression "(((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)))" ( (binary_expression "((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))" (parenthesized_expression "((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0)" ( (binary_expression "(((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0" (binary_expression "(((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0" (parenthesized_expression "(((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40)" ( (binary_expression "((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40" (parenthesized_expression "((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_)" ( (binary_expression "(byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_" (call_expression "(byte)(uVar28 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar28 >> 0x10)" ( (binary_expression "uVar28 >> 0x10" identifier >> number_literal) ))) ^ (field_expression "DAT_00089010._2_1_" identifier . field_identifier)) )) & number_literal) )) != number_literal) || (binary_expression "((bVar29 ^ local_c0) & 2) != 0" (parenthesized_expression "((bVar29 ^ local_c0) & 2)" ( (binary_expression "(bVar29 ^ local_c0) & 2" (parenthesized_expression "(bVar29 ^ local_c0)" ( (binary_expression "bVar29 ^ local_c0" identifier ^ identifier) )) & number_literal) )) != number_literal)) )) || (parenthesized_expression "(uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))" ( (comma_expression "uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)" (assignment_expression "uVar28 = local_44 & DAT_00089018" identifier = (binary_expression "local_44 & DAT_00089018" identifier & identifier)) , (binary_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)" (parenthesized_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0)" ( (binary_expression "(uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0" (binary_expression "(uVar28 & 0xffffff) == 0" (parenthesized_expression "(uVar28 & 0xffffff)" ( (binary_expression "uVar28 & 0xffffff" identifier & number_literal) )) == number_literal) && (binary_expression "(uVar28 >> 0x18 & 0x1d) == 0" (parenthesized_expression "(uVar28 >> 0x18 & 0x1d)" ( (binary_expression "uVar28 >> 0x18 & 0x1d" (binary_expression "uVar28 >> 0x18" identifier >> number_literal) & number_literal) )) == number_literal)) )) && (parenthesized_expression "((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)" ( (binary_expression "(local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0" (binary_expression "(local_40 & DAT_0008901c & 0xffffff00) == 0" (parenthesized_expression "(local_40 & DAT_0008901c & 0xffffff00)" ( (binary_expression "local_40 & DAT_0008901c & 0xffffff00" (binary_expression "local_40 & DAT_0008901c" identifier & identifier) & number_literal) )) == number_literal) && (binary_expression "(local_40 & DAT_0008901c & 0x80) == 0" (parenthesized_expression "(local_40 & DAT_0008901c & 0x80)" ( (binary_expression "local_40 & DAT_0008901c & 0x80" (binary_expression "local_40 & DAT_0008901c" identifier & identifier) & number_literal) )) == number_literal)) )))) ))) )) || (parenthesized_expression "(local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0)" ( (comma_expression "local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0" (assignment_expression "local_c0 = (byte)(uVar28 >> 0x18)" identifier = (call_expression "(byte)(uVar28 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar28 >> 0x18)" ( (binary_expression "uVar28 >> 0x18" identifier >> number_literal) )))) , (binary_expression "(((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0" (binary_expression "(((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0" (parenthesized_expression "(((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40)" ( (binary_expression "((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40" (parenthesized_expression "((byte)(uVar28 >> 0x10) ^ bVar18)" ( (binary_expression "(byte)(uVar28 >> 0x10) ^ bVar18" (call_expression "(byte)(uVar28 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar28 >> 0x10)" ( (binary_expression "uVar28 >> 0x10" identifier >> number_literal) ))) ^ identifier) )) & number_literal) )) != number_literal) || (binary_expression "((bVar30 ^ local_c0) & 2) != 0" (parenthesized_expression "((bVar30 ^ local_c0) & 2)" ( (binary_expression "(bVar30 ^ local_c0) & 2" (parenthesized_expression "(bVar30 ^ local_c0)" ( (binary_expression "bVar30 ^ local_c0" identifier ^ identifier) )) & number_literal) )) != number_literal))) ))) )) (goto_statement "goto code_r0x0004c880;" goto statement_identifier ;)) (if_statement "if (local_d0 != 0) {\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }" if (parenthesized_expression "(local_d0 != 0)" ( (binary_expression "local_d0 != 0" identifier != number_literal) )) (compound_statement "{\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }" { (if_statement "if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "(((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))))))))" ( (binary_expression "((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))" (parenthesized_expression "((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0))))))" ( (binary_expression "(((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))" (parenthesized_expression "(((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0))))" ( (binary_expression "((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))" (parenthesized_expression "((DAT_00089010 & 5) != 0)" ( (binary_expression "(DAT_00089010 & 5) != 0" (parenthesized_expression "(DAT_00089010 & 5)" ( (binary_expression "DAT_00089010 & 5" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))" ( (parenthesized_expression "(((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0))" ( (binary_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)" (parenthesized_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0))" ( (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)" (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089010 >> 0x10 & 0x5f)" ( (binary_expression "DAT_00089010 >> 0x10 & 0x5f" (binary_expression "DAT_00089010 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_00089014 & 0x40) == 0)" ( (binary_expression "(DAT_00089014 & 0x40) == 0" (parenthesized_expression "(DAT_00089014 & 0x40)" ( (binary_expression "DAT_00089014 & 0x40" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((local_3c & 4) != 0)" ( (binary_expression "(local_3c & 4) != 0" (parenthesized_expression "(local_3c & 4)" ( (binary_expression "local_3c & 4" identifier & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "(((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))" ( (parenthesized_expression "((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0))))" ( (binary_expression "(DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))" (binary_expression "(DAT_00089018 & 5) != 0" (parenthesized_expression "(DAT_00089018 & 5)" ( (binary_expression "DAT_00089018 & 5" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))" ( (parenthesized_expression "(((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0))" ( (binary_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)" (parenthesized_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0))" ( (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)" (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089018 >> 0x10 & 0x5f)" ( (binary_expression "DAT_00089018 >> 0x10 & 0x5f" (binary_expression "DAT_00089018 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_0008901c & 0x40) == 0)" ( (binary_expression "(DAT_0008901c & 0x40) == 0" (parenthesized_expression "(DAT_0008901c & 0x40)" ( (binary_expression "DAT_0008901c & 0x40" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((local_44 & 4) != 0)" ( (binary_expression "(local_44 & 4) != 0" (parenthesized_expression "(local_44 & 4)" ( (binary_expression "local_44 & 4" identifier & number_literal) )) != number_literal) ))) )) ))) )) ))) )) && (parenthesized_expression "((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))" ( (parenthesized_expression "(((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))))))" ( (binary_expression "((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))" (parenthesized_expression "((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0))" ( (binary_expression "(char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)" (binary_expression "(char)(bVar29 ^ bVar30) < '\0'" (cast_expression "(char)(bVar29 ^ bVar30)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bVar29 ^ bVar30)" ( (binary_expression "bVar29 ^ bVar30" identifier ^ identifier) ))) < (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)" ( (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0" (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0" (parenthesized_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a)" ( (binary_expression "(local_c8 ^ (byte)DAT_0008901c) & 0x3a" (parenthesized_expression "(local_c8 ^ (byte)DAT_0008901c)" ( (binary_expression "local_c8 ^ (byte)DAT_0008901c" identifier ^ (cast_expression "(byte)DAT_0008901c" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) != number_literal) || (binary_expression "((bVar29 ^ bVar30) & 0x60) != 0" (parenthesized_expression "((bVar29 ^ bVar30) & 0x60)" ( (binary_expression "(bVar29 ^ bVar30) & 0x60" (parenthesized_expression "(bVar29 ^ bVar30)" ( (binary_expression "bVar29 ^ bVar30" identifier ^ identifier) )) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "(((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))" ( (parenthesized_expression "((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))))" ( (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))" (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0" (parenthesized_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1)" ( (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1" (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5" (binary_expression "bStack_39 >> 5 & 1" (binary_expression "bStack_39 >> 5" identifier >> number_literal) & number_literal) & (binary_expression "local_44._3_1_ >> 5" (field_expression "local_44._3_1_" identifier . field_identifier) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))" ( (parenthesized_expression "(((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))" ( (binary_expression "((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)" (parenthesized_expression "((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0))))" ( (binary_expression "(((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))" (parenthesized_expression "(((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0))" ( (binary_expression "((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)" (parenthesized_expression "((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0'))" ( (binary_expression "(local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')" (binary_expression "(local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0" (parenthesized_expression "(local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1)" ( (binary_expression "local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1" (binary_expression "local_44._3_1_ >> 6 & 1 & bStack_39 >> 6" (binary_expression "local_44._3_1_ >> 6 & 1" (binary_expression "local_44._3_1_ >> 6" (field_expression "local_44._3_1_" identifier . field_identifier) >> number_literal) & number_literal) & (binary_expression "bStack_39 >> 6" identifier >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((char)(local_44._3_1_ & bStack_39) < '\0')" ( (binary_expression "(char)(local_44._3_1_ & bStack_39) < '\0'" (cast_expression "(char)(local_44._3_1_ & bStack_39)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(local_44._3_1_ & bStack_39)" ( (binary_expression "local_44._3_1_ & bStack_39" (field_expression "local_44._3_1_" identifier . field_identifier) & identifier) ))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)" ( (binary_expression "((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1)" ( (binary_expression "(byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1" (binary_expression "(byte)local_38 >> 1 & 1 & (byte)local_40 >> 1" (binary_expression "(byte)local_38 >> 1 & 1" (binary_expression "(byte)local_38 >> 1" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_40 >> 1" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))" ( (parenthesized_expression "(((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0))" ( (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1)" ( (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1" (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3" (binary_expression "(byte)local_38 >> 3 & 1" (binary_expression "(byte)local_38 >> 3" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_40 >> 3" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "(((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" ( (binary_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1)" ( (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1" (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4" (binary_expression "(byte)local_40 >> 4 & 1" (binary_expression "(byte)local_40 >> 4" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_38 >> 4" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)" ( (binary_expression "((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1)" ( (binary_expression "(byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1" (binary_expression "(byte)local_40 >> 5 & 1 & (byte)local_38 >> 5" (binary_expression "(byte)local_40 >> 5 & 1" (binary_expression "(byte)local_40 >> 5" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_38 >> 5" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }" { (expression_statement "DAT_000890f8 = 2;" (assignment_expression "DAT_000890f8 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) })) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (if_statement "if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }" if (parenthesized_expression "((bVar4 & 1) != 0)" ( (binary_expression "(bVar4 & 1) != 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }" { (expression_statement "local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;" (assignment_expression "local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400" identifier = (binary_expression "(-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400" (parenthesized_expression "(-(uint)((local_40 & 4) == 0) & 0xfffffc02)" ( (binary_expression "-(uint)((local_40 & 4) == 0) & 0xfffffc02" (unary_expression "-(uint)((local_40 & 4) == 0)" - (call_expression "(uint)((local_40 & 4) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((local_40 & 4) == 0)" ( (binary_expression "(local_40 & 4) == 0" (parenthesized_expression "(local_40 & 4)" ( (binary_expression "local_40 & 4" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (expression_statement "uVar28 = local_dc | 8;" (assignment_expression "uVar28 = local_dc | 8" identifier = (binary_expression "local_dc | 8" identifier | number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar32 + 0x25) & 4) == 0) {\n    uVar28 = local_dc;\n  }" if (parenthesized_expression "((*(byte *)((int)puVar32 + 0x25) & 4) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x25) & 4) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x25) & 4)" ( (binary_expression "*(byte *)((int)puVar32 + 0x25) & 4" (pointer_expression "*(byte *)((int)puVar32 + 0x25)" * (cast_expression "(byte *)((int)puVar32 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar28 = local_dc;\n  }" { (expression_statement "uVar28 = local_dc;" (assignment_expression "uVar28 = local_dc" identifier = identifier) ;) })) (labeled_statement "LAB_0004c685:\n  local_dc = uVar28;" statement_identifier : (expression_statement "local_dc = uVar28;" (assignment_expression "local_dc = uVar28" identifier = identifier) ;)) (if_statement "if ((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))) {\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }" if (parenthesized_expression "((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0))))" ( (binary_expression "(((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))" (parenthesized_expression "(((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0))" ( (binary_expression "((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)" (parenthesized_expression "((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0))" ( (binary_expression "(((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)" (parenthesized_expression "(((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0))" ( (binary_expression "((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)" (parenthesized_expression "((puVar32[8] & DAT_00065384) != 0)" ( (binary_expression "(puVar32[8] & DAT_00065384) != 0" (parenthesized_expression "(puVar32[8] & DAT_00065384)" ( (binary_expression "puVar32[8] & DAT_00065384" (subscript_expression "puVar32[8]" identifier [ number_literal ]) & identifier) )) != number_literal) )) || (parenthesized_expression "((puVar32[7] & DAT_00065380) != 0)" ( (binary_expression "(puVar32[7] & DAT_00065380) != 0" (parenthesized_expression "(puVar32[7] & DAT_00065380)" ( (binary_expression "puVar32[7] & DAT_00065380" (subscript_expression "puVar32[7]" identifier [ number_literal ]) & identifier) )) != number_literal) ))) )) || (parenthesized_expression "((puVar32[6] & DAT_0006537c) != 0)" ( (binary_expression "(puVar32[6] & DAT_0006537c) != 0" (parenthesized_expression "(puVar32[6] & DAT_0006537c)" ( (binary_expression "puVar32[6] & DAT_0006537c" (subscript_expression "puVar32[6]" identifier [ number_literal ]) & identifier) )) != number_literal) ))) )) || (parenthesized_expression "((puVar32[5] & DAT_00065378) != 0)" ( (binary_expression "(puVar32[5] & DAT_00065378) != 0" (parenthesized_expression "(puVar32[5] & DAT_00065378)" ( (binary_expression "puVar32[5] & DAT_00065378" (subscript_expression "puVar32[5]" identifier [ number_literal ]) & identifier) )) != number_literal) ))) )) && (parenthesized_expression "((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))" ( (parenthesized_expression "(((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0))" ( (binary_expression "((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)" (binary_expression "((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0" (parenthesized_expression "((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8)" ( (binary_expression "(*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8" (parenthesized_expression "(*(byte *)(puVar32 + 6) | (byte)DAT_00080540)" ( (binary_expression "*(byte *)(puVar32 + 6) | (byte)DAT_00080540" (pointer_expression "*(byte *)(puVar32 + 6)" * (cast_expression "(byte *)(puVar32 + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 6)" ( (binary_expression "puVar32 + 6" identifier + number_literal) )))) | (cast_expression "(byte)DAT_00080540" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) == number_literal) && (parenthesized_expression "(puVar32[1] != 0)" ( (binary_expression "puVar32[1] != 0" (subscript_expression "puVar32[1]" identifier [ number_literal ]) != number_literal) ))) )) ))) )) (compound_statement "{\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);" do (compound_statement "{\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    }" { (if_statement "if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;" if (parenthesized_expression "(((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0))))" ( (binary_expression "((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))" (parenthesized_expression "((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20)" ( (binary_expression "*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar19 * 2 + 0xd)" * (cast_expression "(byte *)(puVar32 + iVar19 * 2 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar19 * 2 + 0xd)" ( (binary_expression "puVar32 + iVar19 * 2 + 0xd" (binary_expression "puVar32 + iVar19 * 2" identifier + (binary_expression "iVar19 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))" ( (parenthesized_expression "((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0))" ( (binary_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)" (binary_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10)" ( (binary_expression "*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10" (pointer_expression "*(byte *)(&DAT_00089014 + iVar19 * 2)" * (cast_expression "(byte *)(&DAT_00089014 + iVar19 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00089014 + iVar19 * 2)" ( (binary_expression "&DAT_00089014 + iVar19 * 2" (pointer_expression "&DAT_00089014" & identifier) + (binary_expression "iVar19 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) || (parenthesized_expression "((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)" ( (binary_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0" (parenthesized_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 8)" ( (binary_expression "*(byte *)(&DAT_00089014 + iVar19 * 2) & 8" (pointer_expression "*(byte *)(&DAT_00089014 + iVar19 * 2)" * (cast_expression "(byte *)(&DAT_00089014 + iVar19 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00089014 + iVar19 * 2)" ( (binary_expression "&DAT_00089014 + iVar19 * 2" (pointer_expression "&DAT_00089014" & identifier) + (binary_expression "iVar19 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004cc2a;" goto statement_identifier ;)) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar32[1] != iVar19)" ( (binary_expression "puVar32[1] != iVar19" (subscript_expression "puVar32[1]" identifier [ number_literal ]) != identifier) )) ;) })) (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30;" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30" identifier = (binary_expression "*(byte *)((int)puVar32 + 0x2a) & 0x30" (pointer_expression "*(byte *)((int)puVar32 + 0x2a)" * (cast_expression "(byte *)((int)puVar32 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2a)" ( (binary_expression "(int)puVar32 + 0x2a" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0) {\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }" if (parenthesized_expression "((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x2a) & 0x30)" ( (binary_expression "*(byte *)((int)puVar32 + 0x2a) & 0x30" (pointer_expression "*(byte *)((int)puVar32 + 0x2a)" * (cast_expression "(byte *)((int)puVar32 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2a)" ( (binary_expression "(int)puVar32 + 0x2a" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }" { (if_statement "if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0))" ( (binary_expression "(DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)" (parenthesized_expression "(DAT_00089078 != 0)" ( (binary_expression "DAT_00089078 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)" ( (binary_expression "(*(byte *)(DAT_00089078 + 8) & 0x38) != 0" (parenthesized_expression "(*(byte *)(DAT_00089078 + 8) & 0x38)" ( (binary_expression "*(byte *)(DAT_00089078 + 8) & 0x38" (pointer_expression "*(byte *)(DAT_00089078 + 8)" * (cast_expression "(byte *)(DAT_00089078 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 8)" ( (binary_expression "DAT_00089078 + 8" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }" { (expression_statement "DAT_000890f8 = 0xb;" (assignment_expression "DAT_000890f8 = 0xb" identifier = number_literal) ;) (expression_statement "local_e0 = 0xb;" (assignment_expression "local_e0 = 0xb" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;" if (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 8) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 0xb) & 8) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 8)" ( (binary_expression "*(byte *)(puVar32 + 0xb) & 8" (pointer_expression "*(byte *)(puVar32 + 0xb)" * (cast_expression "(byte *)(puVar32 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004c6f7;" goto statement_identifier ;)) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(puVar32 + 0xb) & 8) != 0) {\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }" if (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 8) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 0xb) & 8) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 8)" ( (binary_expression "*(byte *)(puVar32 + 0xb) & 8" (pointer_expression "*(byte *)(puVar32 + 0xb)" * (cast_expression "(byte *)(puVar32 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }" { (labeled_statement "LAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }" statement_identifier : (if_statement "if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0'))" ( (binary_expression "(DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')" (parenthesized_expression "(DAT_000890c4 == (int *)0x0)" ( (binary_expression "DAT_000890c4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(char *)(*DAT_000890c4 + 0xd) == '\0')" ( (binary_expression "*(char *)(*DAT_000890c4 + 0xd) == '\0'" (pointer_expression "*(char *)(*DAT_000890c4 + 0xd)" * (cast_expression "(char *)(*DAT_000890c4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*DAT_000890c4 + 0xd)" ( (binary_expression "*DAT_000890c4 + 0xd" (pointer_expression "*DAT_000890c4" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }" { (expression_statement "DAT_000890f8 = 0x11;" (assignment_expression "DAT_000890f8 = 0x11" identifier = number_literal) ;) (expression_statement "local_e0 = 0x11;" (assignment_expression "local_e0 = 0x11" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) }))) (if_statement "if (bVar17 == 0) goto LAB_0004c71a;" if (parenthesized_expression "(bVar17 == 0)" ( (binary_expression "bVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;)) })) (if_statement "if (DAT_00089078 != 0) {\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }" if (parenthesized_expression "(DAT_00089078 != 0)" ( (binary_expression "DAT_00089078 != 0" identifier != number_literal) )) (compound_statement "{\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }" { (if_statement "if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" if (parenthesized_expression "(bVar17 == 0x10)" ( (binary_expression "bVar17 == 0x10" identifier == number_literal) )) (compound_statement "{\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }" { (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 8) & 8;" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 8) & 8" identifier = (binary_expression "*(byte *)(DAT_00089078 + 8) & 8" (pointer_expression "*(byte *)(DAT_00089078 + 8)" * (cast_expression "(byte *)(DAT_00089078 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 8)" ( (binary_expression "DAT_00089078 + 8" identifier + number_literal) )))) & number_literal)) ;) }) (else_clause "else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" else (if_statement "if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" if (parenthesized_expression "(bVar17 == 0x20)" ( (binary_expression "bVar17 == 0x20" identifier == number_literal) )) (compound_statement "{\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }" { (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10" identifier = (binary_expression "*(byte *)(DAT_00089078 + 8) & 0x10" (pointer_expression "*(byte *)(DAT_00089078 + 8)" * (cast_expression "(byte *)(DAT_00089078 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 8)" ( (binary_expression "DAT_00089078 + 8" identifier + number_literal) )))) & number_literal)) ;) }) (else_clause "else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" else (compound_statement "{\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" { (if_statement "if (bVar17 != 0x30) goto LAB_0004cef0;" if (parenthesized_expression "(bVar17 != 0x30)" ( (binary_expression "bVar17 != 0x30" identifier != number_literal) )) (goto_statement "goto LAB_0004cef0;" goto statement_identifier ;)) (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20" identifier = (binary_expression "*(byte *)(DAT_00089078 + 8) & 0x20" (pointer_expression "*(byte *)(DAT_00089078 + 8)" * (cast_expression "(byte *)(DAT_00089078 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 8)" ( (binary_expression "DAT_00089078 + 8" identifier + number_literal) )))) & number_literal)) ;) }))))) (if_statement "if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "(bVar17 != 0)" ( (binary_expression "bVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }" { (if_statement "if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }" if (parenthesized_expression "(DAT_00089000 == 2)" ( (binary_expression "DAT_00089000 == 2" identifier == number_literal) )) (compound_statement "{\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }" { (if_statement "if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;" if (parenthesized_expression "(DAT_000890c4 != (int *)0x0)" ( (binary_expression "DAT_000890c4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;)) (if_statement "if ((DAT_00089010 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }" if (parenthesized_expression "((DAT_00089010 & 4) == 0)" ( (binary_expression "(DAT_00089010 & 4) == 0" (parenthesized_expression "(DAT_00089010 & 4)" ( (binary_expression "DAT_00089010 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }" { comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078)" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , identifier ))) ;) })) (if_statement "if ((DAT_00089014 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }" if (parenthesized_expression "((DAT_00089014 & 0x18) == 0)" ( (binary_expression "(DAT_00089014 & 0x18) == 0" (parenthesized_expression "(DAT_00089014 & 0x18)" ( (binary_expression "DAT_00089014 & 0x18" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }" { comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2)" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , number_literal ))) ;) })) (if_statement "if ((_DAT_00089020 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }" if (parenthesized_expression "((_DAT_00089020 & 4) == 0)" ( (binary_expression "(_DAT_00089020 & 4) == 0" (parenthesized_expression "(_DAT_00089020 & 4)" ( (binary_expression "_DAT_00089020 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }" { comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2)" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , number_literal ))) ;) })) (if_statement "if ((_DAT_00089024 & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }" if (parenthesized_expression "((_DAT_00089024 & 0x18) == 0)" ( (binary_expression "(_DAT_00089024 & 0x18) == 0" (parenthesized_expression "(_DAT_00089024 & 0x18)" ( (binary_expression "_DAT_00089024 & 0x18" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }" { comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2)" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , number_literal ))) ;) })) (if_statement "if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }" if (parenthesized_expression "(DAT_00080550 != 0)" ( (binary_expression "DAT_00080550 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }" { (expression_statement "uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);" (assignment_expression "uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(DAT_00089038 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_00089038 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 0xd)" ( (binary_expression "DAT_00089038 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }" if (parenthesized_expression "((*(byte *)(DAT_00089038 + 0xc) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_00089038 + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 0xc) & 1)" ( (binary_expression "*(byte *)(DAT_00089038 + 0xc) & 1" (pointer_expression "*(byte *)(DAT_00089038 + 0xc)" * (cast_expression "(byte *)(DAT_00089038 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 0xc)" ( (binary_expression "DAT_00089038 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar28 = uVar28 + 8;\n          }" { (expression_statement "uVar28 = uVar28 + 8;" (assignment_expression "uVar28 = uVar28 + 8" identifier = (binary_expression "uVar28 + 8" identifier + number_literal)) ;) })) (if_statement "if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }" if (parenthesized_expression "((*(byte *)(DAT_00089038 + 0xc) & 4) != 0)" ( (binary_expression "(*(byte *)(DAT_00089038 + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 0xc) & 4)" ( (binary_expression "*(byte *)(DAT_00089038 + 0xc) & 4" (pointer_expression "*(byte *)(DAT_00089038 + 0xc)" * (cast_expression "(byte *)(DAT_00089038 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 0xc)" ( (binary_expression "DAT_00089038 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar28 = uVar28 + 0x10;\n          }" { (expression_statement "uVar28 = uVar28 + 0x10;" (assignment_expression "uVar28 = uVar28 + 0x10" identifier = (binary_expression "uVar28 + 0x10" identifier + number_literal)) ;) })) (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 0xc);" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 0xc)" identifier = (pointer_expression "*(byte *)(DAT_00089078 + 0xc)" * (cast_expression "(byte *)(DAT_00089078 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 0xc)" ( (binary_expression "DAT_00089078 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = (uint)bVar17;" (assignment_expression "uVar20 = (uint)bVar17" identifier = (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);" (assignment_expression "local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(DAT_00089078 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_00089078 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 0xd)" ( (binary_expression "DAT_00089078 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }" if (parenthesized_expression "((bVar17 & 1) != 0)" ( (binary_expression "(bVar17 & 1) != 0" (parenthesized_expression "(bVar17 & 1)" ( (binary_expression "bVar17 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_d4 = local_d4 + 8;\n          }" { (expression_statement "local_d4 = local_d4 + 8;" (assignment_expression "local_d4 = local_d4 + 8" identifier = (binary_expression "local_d4 + 8" identifier + number_literal)) ;) })) (if_statement "if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }" if (parenthesized_expression "((bVar17 & 4) != 0)" ( (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" ( (binary_expression "bVar17 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_d4 = local_d4 + 0x10;\n          }" { (expression_statement "local_d4 = local_d4 + 0x10;" (assignment_expression "local_d4 = local_d4 + 0x10" identifier = (binary_expression "local_d4 + 0x10" identifier + number_literal)) ;) })) (if_statement "if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }" if (parenthesized_expression "(local_d4 != uVar28)" ( (binary_expression "local_d4 != uVar28" identifier != identifier) )) (compound_statement "{\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }" { (expression_statement "uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);" (assignment_expression "uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(DAT_00089040 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_00089040 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089040 + 0xd)" ( (binary_expression "DAT_00089040 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }" if (parenthesized_expression "((*(byte *)(DAT_00089040 + 0xc) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_00089040 + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_00089040 + 0xc) & 1)" ( (binary_expression "*(byte *)(DAT_00089040 + 0xc) & 1" (pointer_expression "*(byte *)(DAT_00089040 + 0xc)" * (cast_expression "(byte *)(DAT_00089040 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089040 + 0xc)" ( (binary_expression "DAT_00089040 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar20 = uVar20 + 8;\n            }" { (expression_statement "uVar20 = uVar20 + 8;" (assignment_expression "uVar20 = uVar20 + 8" identifier = (binary_expression "uVar20 + 8" identifier + number_literal)) ;) })) (if_statement "if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }" if (parenthesized_expression "((*(byte *)(DAT_00089040 + 0xc) & 4) != 0)" ( (binary_expression "(*(byte *)(DAT_00089040 + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_00089040 + 0xc) & 4)" ( (binary_expression "*(byte *)(DAT_00089040 + 0xc) & 4" (pointer_expression "*(byte *)(DAT_00089040 + 0xc)" * (cast_expression "(byte *)(DAT_00089040 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089040 + 0xc)" ( (binary_expression "DAT_00089040 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar20 = uVar20 + 0x10;\n            }" { (expression_statement "uVar20 = uVar20 + 0x10;" (assignment_expression "uVar20 = uVar20 + 0x10" identifier = (binary_expression "uVar20 + 0x10" identifier + number_literal)) ;) })) (if_statement "if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;" if (parenthesized_expression "((local_d4 != uVar20) && (uVar28 != uVar20))" ( (binary_expression "(local_d4 != uVar20) && (uVar28 != uVar20)" (parenthesized_expression "(local_d4 != uVar20)" ( (binary_expression "local_d4 != uVar20" identifier != identifier) )) && (parenthesized_expression "(uVar28 != uVar20)" ( (binary_expression "uVar28 != uVar20" identifier != identifier) ))) )) (goto_statement "goto LAB_0004d657;" goto statement_identifier ;)) })) (if_statement "if (DAT_00080550 == 2) goto LAB_0004ddd8;" if (parenthesized_expression "(DAT_00080550 == 2)" ( (binary_expression "DAT_00080550 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0004ddd8;" goto statement_identifier ;)) (expression_statement "pcVar26 = "mask, index, and destination registers should be distinct";" (assignment_expression "pcVar26 = "mask, index, and destination registers should be distinct"" identifier = (string_literal ""mask, index, and destination registers should be distinct"" " string_content ")) ;) (goto_statement "goto LAB_0004cd9e;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }" else (compound_statement "{\n        if (DAT_000890c4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }" { (if_statement "if (DAT_000890c4 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }" if (parenthesized_expression "(DAT_000890c4 == (int *)0x0)" ( (binary_expression "DAT_000890c4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }" { comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0)" identifier (argument_list "("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , number_literal ))) ;) })) (if_statement "if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }" if (parenthesized_expression "(((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0))" ( (binary_expression "((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)" (parenthesized_expression "((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0))" ( (binary_expression "(DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)" (parenthesized_expression "(DAT_00089000 == 1)" ( (binary_expression "DAT_00089000 == 1" identifier == number_literal) )) && (parenthesized_expression "((DAT_00089018 & 4) != 0)" ( (binary_expression "(DAT_00089018 & 4) != 0" (parenthesized_expression "(DAT_00089018 & 4)" ( (binary_expression "DAT_00089018 & 4" identifier & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((DAT_0008901c & 0x38) != 0)" ( (binary_expression "(DAT_0008901c & 0x38) != 0" (parenthesized_expression "(DAT_0008901c & 0x38)" ( (binary_expression "DAT_0008901c & 0x38" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }" { (expression_statement "uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);" (assignment_expression "uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd)" identifier = (binary_expression "(uint)*(byte *)(DAT_0008903c + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_0008903c + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0008903c + 0xd)" ( (binary_expression "DAT_0008903c + 0xd" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }" if (parenthesized_expression "((*(byte *)(DAT_0008903c + 0xc) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_0008903c + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 0xc) & 1)" ( (binary_expression "*(byte *)(DAT_0008903c + 0xc) & 1" (pointer_expression "*(byte *)(DAT_0008903c + 0xc)" * (cast_expression "(byte *)(DAT_0008903c + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0008903c + 0xc)" ( (binary_expression "DAT_0008903c + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar28 = uVar28 + 8;\n          }" { (expression_statement "uVar28 = uVar28 + 8;" (assignment_expression "uVar28 = uVar28 + 8" identifier = (binary_expression "uVar28 + 8" identifier + number_literal)) ;) })) (if_statement "if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }" if (parenthesized_expression "((*(byte *)(DAT_0008903c + 0xc) & 4) != 0)" ( (binary_expression "(*(byte *)(DAT_0008903c + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 0xc) & 4)" ( (binary_expression "*(byte *)(DAT_0008903c + 0xc) & 4" (pointer_expression "*(byte *)(DAT_0008903c + 0xc)" * (cast_expression "(byte *)(DAT_0008903c + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0008903c + 0xc)" ( (binary_expression "DAT_0008903c + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar28 = uVar28 + 0x10;\n          }" { (expression_statement "uVar28 = uVar28 + 0x10;" (assignment_expression "uVar28 = uVar28 + 0x10" identifier = (binary_expression "uVar28 + 0x10" identifier + number_literal)) ;) })) (expression_statement "uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);" (assignment_expression "uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(DAT_00089078 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_00089078 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 0xd)" ( (binary_expression "DAT_00089078 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }" if (parenthesized_expression "((*(byte *)(DAT_00089078 + 0xc) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_00089078 + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_00089078 + 0xc) & 1)" ( (binary_expression "*(byte *)(DAT_00089078 + 0xc) & 1" (pointer_expression "*(byte *)(DAT_00089078 + 0xc)" * (cast_expression "(byte *)(DAT_00089078 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 0xc)" ( (binary_expression "DAT_00089078 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar20 = uVar20 + 8;\n          }" { (expression_statement "uVar20 = uVar20 + 8;" (assignment_expression "uVar20 = uVar20 + 8" identifier = (binary_expression "uVar20 + 8" identifier + number_literal)) ;) })) (if_statement "if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }" if (parenthesized_expression "((*(byte *)(DAT_00089078 + 0xc) & 4) != 0)" ( (binary_expression "(*(byte *)(DAT_00089078 + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_00089078 + 0xc) & 4)" ( (binary_expression "*(byte *)(DAT_00089078 + 0xc) & 4" (pointer_expression "*(byte *)(DAT_00089078 + 0xc)" * (cast_expression "(byte *)(DAT_00089078 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 0xc)" ( (binary_expression "DAT_00089078 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar20 = uVar20 + 0x10;\n          }" { (expression_statement "uVar20 = uVar20 + 0x10;" (assignment_expression "uVar20 = uVar20 + 0x10" identifier = (binary_expression "uVar20 + 0x10" identifier + number_literal)) ;) })) (if_statement "if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }" if (parenthesized_expression "(uVar20 == uVar28)" ( (binary_expression "uVar20 == uVar28" identifier == identifier) )) (compound_statement "{\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }" { (if_statement "if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }" if (parenthesized_expression "(DAT_00080550 == 2)" ( (binary_expression "DAT_00080550 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }" { (labeled_statement "LAB_0004ddd8:\n              DAT_000890f8 = 10;" statement_identifier : (expression_statement "DAT_000890f8 = 10;" (assignment_expression "DAT_000890f8 = 10" identifier = number_literal) ;)) (expression_statement "local_e0 = 10;" (assignment_expression "local_e0 = 10" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (DAT_00080550 == 0) goto LAB_0004c71a;" if (parenthesized_expression "(DAT_00080550 == 0)" ( (binary_expression "DAT_00080550 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;)) (expression_statement "pcVar26 = "index and destination registers should be distinct";" (assignment_expression "pcVar26 = "index and destination registers should be distinct"" identifier = (string_literal ""index and destination registers should be distinct"" " string_content ")) ;) (expression_statement "uVar20 = DAT_00080550;" (assignment_expression "uVar20 = DAT_00080550" identifier = identifier) ;) (labeled_statement "LAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);" statement_identifier : (expression_statement "uVar27 = dcgettext(0,pcVar26,5,uVar20);" (assignment_expression "uVar27 = dcgettext(0,pcVar26,5,uVar20)" identifier = (call_expression "dcgettext(0,pcVar26,5,uVar20)" identifier (argument_list "(0,pcVar26,5,uVar20)" ( number_literal , identifier , number_literal , identifier )))) ;)) (expression_statement "FUN_0002bc80(uVar27);" (call_expression "FUN_0002bc80(uVar27)" identifier (argument_list "(uVar27)" ( identifier ))) ;) })) })) (labeled_statement "LAB_0004c71a:\n        iVar19 = DAT_00088ffc;" statement_identifier : (expression_statement "iVar19 = DAT_00088ffc;" (assignment_expression "iVar19 = DAT_00088ffc" identifier = identifier) ;)) (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2b);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2b)" identifier = (pointer_expression "*(byte *)((int)puVar32 + 0x2b)" * (cast_expression "(byte *)((int)puVar32 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2b)" ( (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }" if (parenthesized_expression "(DAT_000890cc != (int *)0x0)" ( (binary_expression "DAT_000890cc != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }" { (if_statement "if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }" if (parenthesized_expression "((bVar17 & 0x20) != 0)" ( (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }" { (expression_statement "local_d4 = DAT_000890cc[1];" (assignment_expression "local_d4 = DAT_000890cc[1]" identifier = (subscript_expression "DAT_000890cc[1]" identifier [ number_literal ])) ;) (expression_statement "bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);" (assignment_expression "bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + (local_d4 + 0xe) * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "(local_d4 + 0xe) * 8" (parenthesized_expression "(local_d4 + 0xe)" ( (binary_expression "local_d4 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) ))))) ;) (if_statement "if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }" if (parenthesized_expression "((bVar18 & 0x10) != 0)" ( (binary_expression "(bVar18 & 0x10) != 0" (parenthesized_expression "(bVar18 & 0x10)" ( (binary_expression "bVar18 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }" { (expression_statement "iVar23 = local_d4 + 6;" (assignment_expression "iVar23 = local_d4 + 6" identifier = (binary_expression "local_d4 + 6" identifier + number_literal)) ;) (expression_statement "cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);" (assignment_expression "cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3)" identifier = (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" if (parenthesized_expression "(((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0)" ( (binary_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0" (parenthesized_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40)" ( (binary_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40" (subscript_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "(local_d4 + 0xe) * 8" (parenthesized_expression "(local_d4 + 0xe)" ( (binary_expression "local_d4 + 0xe" identifier + number_literal) )) * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }" { (if_statement "if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }" if (parenthesized_expression "(cVar3 < '\0')" ( (binary_expression "cVar3 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }" { (expression_statement "iVar24 = 4;" (assignment_expression "iVar24 = 4" identifier = number_literal) ;) (if_statement "if ((char)bVar18 < '\0') goto LAB_0004c78c;" if (parenthesized_expression "((char)bVar18 < '\0')" ( (binary_expression "(char)bVar18 < '\0'" (cast_expression "(char)bVar18" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004c78c;" goto statement_identifier ;)) }) (else_clause "else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }" else (compound_statement "{\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }" { (expression_statement "iVar24 = 8;" (assignment_expression "iVar24 = 8" identifier = number_literal) ;) (if_statement "if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;" if (parenthesized_expression "(((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0)" ( (binary_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2" (subscript_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "(local_d4 + 0xe) * 8" (parenthesized_expression "(local_d4 + 0xe)" ( (binary_expression "local_d4 + 0xe" identifier + number_literal) )) * number_literal) ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004c78c;" goto statement_identifier ;)) }))) }) (else_clause "else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" else (compound_statement "{\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" { (expression_statement "iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;" (assignment_expression "iVar24 = (-(uint)(-1 < cVar3) & 4) + 4" identifier = (binary_expression "(-(uint)(-1 < cVar3) & 4) + 4" (parenthesized_expression "(-(uint)(-1 < cVar3) & 4)" ( (binary_expression "-(uint)(-1 < cVar3) & 4" (unary_expression "-(uint)(-1 < cVar3)" - (call_expression "(uint)(-1 < cVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(-1 < cVar3)" ( (binary_expression "-1 < cVar3" number_literal < identifier) )))) & number_literal) )) + number_literal)) ;) (labeled_statement "LAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;" statement_identifier : (expression_statement "iVar24 = iVar24 * *DAT_000890cc;" (assignment_expression "iVar24 = iVar24 * *DAT_000890cc" identifier = (binary_expression "iVar24 * *DAT_000890cc" identifier * (pointer_expression "*DAT_000890cc" * identifier))) ;)) (if_statement "if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" if (parenthesized_expression "(iVar24 == 0x10)" ( (binary_expression "iVar24 == 0x10" identifier == number_literal) )) (compound_statement "{\n                  uVar28 = 8;\n                }" { (expression_statement "uVar28 = 8;" (assignment_expression "uVar28 = 8" identifier = number_literal) ;) }) (else_clause "else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" else (if_statement "if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" if (parenthesized_expression "(iVar24 < 0x11)" ( (binary_expression "iVar24 < 0x11" identifier < number_literal) )) (compound_statement "{\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }" { (expression_statement "uVar28 = 2;" (assignment_expression "uVar28 = 2" identifier = number_literal) ;) (if_statement "if (iVar24 != 8) goto LAB_0004c7c9;" if (parenthesized_expression "(iVar24 != 8)" ( (binary_expression "iVar24 != 8" identifier != number_literal) )) (goto_statement "goto LAB_0004c7c9;" goto statement_identifier ;)) }) (else_clause "else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" else (if_statement "if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" if (parenthesized_expression "(iVar24 == 0x20)" ( (binary_expression "iVar24 == 0x20" identifier == number_literal) )) (compound_statement "{\n                  uVar28 = 0x10;\n                }" { (expression_statement "uVar28 = 0x10;" (assignment_expression "uVar28 = 0x10" identifier = number_literal) ;) }) (else_clause "else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" else (compound_statement "{\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" { (expression_statement "uVar28 = 0x20;" (assignment_expression "uVar28 = 0x20" identifier = number_literal) ;) (if_statement "if (iVar24 != 0x40) goto LAB_0004c7c9;" if (parenthesized_expression "(iVar24 != 0x40)" ( (binary_expression "iVar24 != 0x40" identifier != number_literal) )) (goto_statement "goto LAB_0004c7c9;" goto statement_identifier ;)) }))))))) (if_statement "if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }" if (parenthesized_expression "((puVar32[iVar23 * 2 + 1] & uVar28) != 0)" ( (binary_expression "(puVar32[iVar23 * 2 + 1] & uVar28) != 0" (parenthesized_expression "(puVar32[iVar23 * 2 + 1] & uVar28)" ( (binary_expression "puVar32[iVar23 * 2 + 1] & uVar28" (subscript_expression "puVar32[iVar23 * 2 + 1]" identifier [ (binary_expression "iVar23 * 2 + 1" (binary_expression "iVar23 * 2" identifier * number_literal) + number_literal) ]) & identifier) )) != number_literal) )) (compound_statement "{\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }" { (if_statement "if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }" if (parenthesized_expression "(((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0))" ( (binary_expression "((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)" (parenthesized_expression "((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + 0x25) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + 0x25)" * (cast_expression "(byte *)((int)puVar32 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(DAT_00088ffc != 0)" ( (binary_expression "DAT_00088ffc != 0" identifier != number_literal) ))) )) (compound_statement "{\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }" { (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);" do (compound_statement "{\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    }" { (if_statement "if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }" if (parenthesized_expression "(local_d4 != iVar24)" ( (binary_expression "local_d4 != iVar24" identifier != identifier) )) (compound_statement "{\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }" { (expression_statement "iVar1 = iVar24 * 8;" (assignment_expression "iVar1 = iVar24 * 8" identifier = (binary_expression "iVar24 * 8" identifier * number_literal)) ;) (expression_statement "uVar20 = (&DAT_00089010)[iVar24 * 2];" (assignment_expression "uVar20 = (&DAT_00089010)[iVar24 * 2]" identifier = (subscript_expression "(&DAT_00089010)[iVar24 * 2]" (parenthesized_expression "(&DAT_00089010)" ( (pointer_expression "&DAT_00089010" & identifier) )) [ (binary_expression "iVar24 * 2" identifier * number_literal) ])) ;) (expression_statement "bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);" (assignment_expression "bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd)" identifier = (pointer_expression "*(byte *)(puVar32 + iVar24 * 2 + 0xd)" * (cast_expression "(byte *)(puVar32 + iVar24 * 2 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar24 * 2 + 0xd)" ( (binary_expression "puVar32 + iVar24 * 2 + 0xd" (binary_expression "puVar32 + iVar24 * 2" identifier + (binary_expression "iVar24 * 2" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);" (assignment_expression "bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);" (assignment_expression "bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1)" identifier = (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;" if (parenthesized_expression "(((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0))))))" ( (binary_expression "((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))" (parenthesized_expression "((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0))))))" ( (binary_expression "(((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))" (parenthesized_expression "(((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0))))" ( (binary_expression "((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))" (parenthesized_expression "((uVar20 & 5) != 0)" ( (binary_expression "(uVar20 & 5) != 0" (parenthesized_expression "(uVar20 & 5)" ( (binary_expression "uVar20 & 5" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))" ( (parenthesized_expression "(((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0))" ( (binary_expression "((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)" (parenthesized_expression "((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0))" ( (binary_expression "(uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)" (binary_expression "(uVar20 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(uVar20 >> 0x10 & 0x5f)" ( (binary_expression "uVar20 >> 0x10 & 0x5f" (binary_expression "uVar20 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "(((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)" ( (binary_expression "((&DAT_00089014)[iVar24 * 2] & 0x40) == 0" (parenthesized_expression "((&DAT_00089014)[iVar24 * 2] & 0x40)" ( (binary_expression "(&DAT_00089014)[iVar24 * 2] & 0x40" (subscript_expression "(&DAT_00089014)[iVar24 * 2]" (parenthesized_expression "(&DAT_00089014)" ( (pointer_expression "&DAT_00089014" & identifier) )) [ (binary_expression "iVar24 * 2" identifier * number_literal) ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((puVar32[iVar24 * 2 + 0xc] & 4) != 0)" ( (binary_expression "(puVar32[iVar24 * 2 + 0xc] & 4) != 0" (parenthesized_expression "(puVar32[iVar24 * 2 + 0xc] & 4)" ( (binary_expression "puVar32[iVar24 * 2 + 0xc] & 4" (subscript_expression "puVar32[iVar24 * 2 + 0xc]" identifier [ (binary_expression "iVar24 * 2 + 0xc" (binary_expression "iVar24 * 2" identifier * number_literal) + number_literal) ]) & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "(((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))" ( (parenthesized_expression "((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0))))" ( (binary_expression "(puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))" (binary_expression "(puVar32[iVar23 * 2] & 4) != 0" (parenthesized_expression "(puVar32[iVar23 * 2] & 4)" ( (binary_expression "puVar32[iVar23 * 2] & 4" (subscript_expression "puVar32[iVar23 * 2]" identifier [ (binary_expression "iVar23 * 2" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))" ( (parenthesized_expression "(((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0))" ( (binary_expression "((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)" (parenthesized_expression "((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0))" ( (binary_expression "(uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)" (binary_expression "(uVar20 >> 0x18 & 0x60) != 0" (parenthesized_expression "(uVar20 >> 0x18 & 0x60)" ( (binary_expression "uVar20 >> 0x18 & 0x60" (binary_expression "uVar20 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal) || (parenthesized_expression "((int)uVar20 < 0)" ( (binary_expression "(int)uVar20 < 0" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) || (parenthesized_expression "((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)" ( (binary_expression "(((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0" (parenthesized_expression "(((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a)" ( (binary_expression "((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a" (parenthesized_expression "((&DAT_00089014)[iVar24 * 2] ^ uVar28)" ( (binary_expression "(&DAT_00089014)[iVar24 * 2] ^ uVar28" (subscript_expression "(&DAT_00089014)[iVar24 * 2]" (parenthesized_expression "(&DAT_00089014)" ( (pointer_expression "&DAT_00089014" & identifier) )) [ (binary_expression "iVar24 * 2" identifier * number_literal) ]) ^ identifier) )) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) && (parenthesized_expression "((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))" ( (parenthesized_expression "(((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0))))" ( (binary_expression "((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))" (parenthesized_expression "((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0))))" ( (binary_expression "(((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))" (parenthesized_expression "(((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0'))" ( (binary_expression "((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')" (parenthesized_expression "((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0))" ( (binary_expression "(bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)" (binary_expression "(bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0" (parenthesized_expression "(bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)" ( (binary_expression "bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1" (binary_expression "bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5" (binary_expression "bVar29 >> 5 & 1" (binary_expression "bVar29 >> 5" identifier >> number_literal) & number_literal) & (binary_expression "*(byte *)((int)puVar32 + iVar1 + 0x33) >> 5" (pointer_expression "*(byte *)((int)puVar32 + iVar1 + 0x33)" * (cast_expression "(byte *)((int)puVar32 + iVar1 + 0x33)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar1 + 0x33)" ( (binary_expression "(int)puVar32 + iVar1 + 0x33" (binary_expression "(int)puVar32 + iVar1" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)" ( (binary_expression "(bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0" (parenthesized_expression "(bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1)" ( (binary_expression "bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1" (binary_expression "bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6" (binary_expression "bVar29 >> 6 & 1" (binary_expression "bVar29 >> 6" identifier >> number_literal) & number_literal) & (binary_expression "*(byte *)((int)puVar32 + iVar1 + 0x33) >> 6" (pointer_expression "*(byte *)((int)puVar32 + iVar1 + 0x33)" * (cast_expression "(byte *)((int)puVar32 + iVar1 + 0x33)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar1 + 0x33)" ( (binary_expression "(int)puVar32 + iVar1 + 0x33" (binary_expression "(int)puVar32 + iVar1" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) >> number_literal)) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')" ( (binary_expression "(char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0'" (cast_expression "(char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33))" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33))" ( (binary_expression "bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)" identifier & (pointer_expression "*(byte *)((int)puVar32 + iVar1 + 0x33)" * (cast_expression "(byte *)((int)puVar32 + iVar1 + 0x33)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar1 + 0x33)" ( (binary_expression "(int)puVar32 + iVar1 + 0x33" (binary_expression "(int)puVar32 + iVar1" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))" ( (parenthesized_expression "((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0))" ( (binary_expression "(bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)" (binary_expression "(bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0" (parenthesized_expression "(bVar30 >> 1 & 1 & bVar18 >> 1 & 1)" ( (binary_expression "bVar30 >> 1 & 1 & bVar18 >> 1 & 1" (binary_expression "bVar30 >> 1 & 1 & bVar18 >> 1" (binary_expression "bVar30 >> 1 & 1" (binary_expression "bVar30 >> 1" identifier >> number_literal) & number_literal) & (binary_expression "bVar18 >> 1" identifier >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)" ( (binary_expression "(bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0" (parenthesized_expression "(bVar30 >> 3 & 1 & bVar18 >> 3 & 1)" ( (binary_expression "bVar30 >> 3 & 1 & bVar18 >> 3 & 1" (binary_expression "bVar30 >> 3 & 1 & bVar18 >> 3" (binary_expression "bVar30 >> 3 & 1" (binary_expression "bVar30 >> 3" identifier >> number_literal) & number_literal) & (binary_expression "bVar18 >> 3" identifier >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))" ( (parenthesized_expression "((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0))" ( (binary_expression "(bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)" (binary_expression "(bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0" (parenthesized_expression "(bVar30 >> 4 & 1 & bVar18 >> 4 & 1)" ( (binary_expression "bVar30 >> 4 & 1 & bVar18 >> 4 & 1" (binary_expression "bVar30 >> 4 & 1 & bVar18 >> 4" (binary_expression "bVar30 >> 4 & 1" (binary_expression "bVar30 >> 4" identifier >> number_literal) & number_literal) & (binary_expression "bVar18 >> 4" identifier >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)" ( (binary_expression "(bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0" (parenthesized_expression "(bVar18 >> 5 & 1 & bVar30 >> 5 & 1)" ( (binary_expression "bVar18 >> 5 & 1 & bVar30 >> 5 & 1" (binary_expression "bVar18 >> 5 & 1 & bVar30 >> 5" (binary_expression "bVar18 >> 5 & 1" (binary_expression "bVar18 >> 5" identifier >> number_literal) & number_literal) & (binary_expression "bVar30 >> 5" identifier >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004c7c9;" goto statement_identifier ;)) })) (expression_statement "iVar24 = iVar24 + 1;" (assignment_expression "iVar24 = iVar24 + 1" identifier = (binary_expression "iVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar24 != DAT_00088ffc)" ( (binary_expression "iVar24 != DAT_00088ffc" identifier != identifier) )) ;) })) (goto_statement "goto LAB_0004d08c;" goto statement_identifier ;) })) }))) })) })) (labeled_statement "LAB_0004c7c9:\n          DAT_000890f8 = 0xc;" statement_identifier : (expression_statement "DAT_000890f8 = 0xc;" (assignment_expression "DAT_000890f8 = 0xc" identifier = number_literal) ;)) (expression_statement "local_e0 = 0xc;" (assignment_expression "local_e0 = 0xc" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }" if (parenthesized_expression "(((bVar17 & 0x20) == 0) || (DAT_00089008 == 0))" ( (binary_expression "((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)" (parenthesized_expression "((bVar17 & 0x20) == 0)" ( (binary_expression "(bVar17 & 0x20) == 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(DAT_00089008 == 0)" ( (binary_expression "DAT_00089008 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          local_d4 = 4;\n        }" { (expression_statement "local_d4 = 4;" (assignment_expression "local_d4 = 4" identifier = number_literal) ;) }) (else_clause "else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }" else (compound_statement "{\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }" { (if_statement "if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }" if (parenthesized_expression "(DAT_00088ffc == 0)" ( (binary_expression "DAT_00088ffc == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }" { (labeled_statement "LAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);" statement_identifier : comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc)" identifier (argument_list "("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , identifier ))) ;)) })) (if_statement "if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }" if (parenthesized_expression "((DAT_00089010 & 0x5f0000) == 0)" ( (binary_expression "(DAT_00089010 & 0x5f0000) == 0" (parenthesized_expression "(DAT_00089010 & 0x5f0000)" ( (binary_expression "DAT_00089010 & 0x5f0000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }" { (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (do_statement "do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);" do (compound_statement "{\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            }" { (expression_statement "local_d4 = local_d4 + 1;" (assignment_expression "local_d4 = local_d4 + 1" identifier = (binary_expression "local_d4 + 1" identifier + number_literal)) ;) (if_statement "if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;" if (parenthesized_expression "(local_d4 == DAT_00088ffc)" ( (binary_expression "local_d4 == DAT_00088ffc" identifier == identifier) )) (goto_statement "goto LAB_0004cfed;" goto statement_identifier ;)) }) while (parenthesized_expression "((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0)" ( (binary_expression "(*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0" (parenthesized_expression "(*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f)" ( (binary_expression "*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f" (pointer_expression "*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2)" * (cast_expression "(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00089010 + local_d4 * 8 + 2)" ( (binary_expression "(int)&DAT_00089010 + local_d4 * 8 + 2" (binary_expression "(int)&DAT_00089010 + local_d4 * 8" (cast_expression "(int)&DAT_00089010" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00089010" & identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) ;) }) (else_clause "else {\n            local_d4 = 0;\n          }" else (compound_statement "{\n            local_d4 = 0;\n          }" { (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) }))) (if_statement "if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }" if (parenthesized_expression "(*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0')" ( (binary_expression "*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0'" (pointer_expression "*(char *)((int)puVar32 + local_d4 * 8 + 0x33)" * (cast_expression "(char *)((int)puVar32 + local_d4 * 8 + 0x33)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 0x33)" ( (binary_expression "(int)puVar32 + local_d4 * 8 + 0x33" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }" { (expression_statement "bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;" (assignment_expression "bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7" identifier = (binary_expression "*(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7" (pointer_expression "*(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00089010 + local_d4 * 8 + 3)" ( (binary_expression "(int)&DAT_00089010 + local_d4 * 8 + 3" (binary_expression "(int)&DAT_00089010 + local_d4 * 8" (cast_expression "(int)&DAT_00089010" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00089010" & identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) >> number_literal)) ;) }) (else_clause "else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }" else (compound_statement "{\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }" { (expression_statement "bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;" (assignment_expression "bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1" identifier = (binary_expression "*(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1" (binary_expression "*(byte *)(&DAT_00089014 + local_d4 * 2) >> 1" (pointer_expression "*(byte *)(&DAT_00089014 + local_d4 * 2)" * (cast_expression "(byte *)(&DAT_00089014 + local_d4 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00089014 + local_d4 * 2)" ( (binary_expression "&DAT_00089014 + local_d4 * 2" (pointer_expression "&DAT_00089014" & identifier) + (binary_expression "local_d4 * 2" identifier * number_literal)) )))) >> number_literal) & number_literal)) ;) }))) (if_statement "if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "(bVar18 != 0)" ( (binary_expression "bVar18 != 0" identifier != number_literal) )) (compound_statement "{\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }" { (expression_statement "DAT_000890f8 = 0xe;" (assignment_expression "DAT_000890f8 = 0xe" identifier = number_literal) ;) (expression_statement "local_e0 = 0xe;" (assignment_expression "local_e0 = 0xe" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }" statement_identifier : (if_statement "if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }" if (parenthesized_expression "(DAT_000890c4 != (int *)0x0)" ( (binary_expression "DAT_000890c4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }" { (if_statement "if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "(((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10))))" ( (binary_expression "((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))" (parenthesized_expression "((bVar17 & 0x18) == 0)" ( (binary_expression "(bVar17 & 0x18) == 0" (parenthesized_expression "(bVar17 & 0x18)" ( (binary_expression "bVar17 & 0x18" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))" ( (parenthesized_expression "(DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10))" ( (binary_expression "DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)" (binary_expression "DAT_000890c4[1] != 0" (subscript_expression "DAT_000890c4[1]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "((bVar17 & 0x18) == 0x10)" ( (binary_expression "(bVar17 & 0x18) == 0x10" (parenthesized_expression "(bVar17 & 0x18)" ( (binary_expression "bVar17 & 0x18" identifier & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }" { (expression_statement "DAT_000890f8 = 0xf;" (assignment_expression "DAT_000890f8 = 0xf" identifier = number_literal) ;) (expression_statement "local_e0 = 0xf;" (assignment_expression "local_e0 = 0xf" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "(DAT_000890c4[2] != DAT_00088ffc + -1)" ( (binary_expression "DAT_000890c4[2] != DAT_00088ffc + -1" (subscript_expression "DAT_000890c4[2]" identifier [ number_literal ]) != (binary_expression "DAT_00088ffc + -1" identifier + number_literal)) )) (compound_statement "{\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }" { (expression_statement "DAT_000890f8 = 0x10;" (assignment_expression "DAT_000890f8 = 0x10" identifier = number_literal) ;) (expression_statement "local_e0 = 0x10;" (assignment_expression "local_e0 = 0x10" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) }))) (if_statement "if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }" if (parenthesized_expression "(DAT_000890c8 != (int *)0x0)" ( (binary_expression "DAT_000890c8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }" { (if_statement "if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "(*DAT_000890c8 == 4)" ( (binary_expression "*DAT_000890c8 == 4" (pointer_expression "*DAT_000890c8" * identifier) == number_literal) )) (compound_statement "{\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }" { (if_statement "if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;" if (parenthesized_expression "((bVar17 & 0xc0) != 0x80)" ( (binary_expression "(bVar17 & 0xc0) != 0x80" (parenthesized_expression "(bVar17 & 0xc0)" ( (binary_expression "bVar17 & 0xc0" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004dd1c;" goto statement_identifier ;)) }) (else_clause "else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" else (if_statement "if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "((bVar17 & 0x40) == 0)" ( (binary_expression "(bVar17 & 0x40) == 0" (parenthesized_expression "(bVar17 & 0x40)" ( (binary_expression "bVar17 & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" { (labeled_statement "LAB_0004dd1c:\n            DAT_000890f8 = 0x12;" statement_identifier : (expression_statement "DAT_000890f8 = 0x12;" (assignment_expression "DAT_000890f8 = 0x12" identifier = number_literal) ;)) (expression_statement "local_e0 = 0x12;" (assignment_expression "local_e0 = 0x12" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })))) (if_statement "if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1))" ( (binary_expression "(1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)" (parenthesized_expression "(1 < DAT_0008900c)" ( (binary_expression "1 < DAT_0008900c" number_literal < identifier) )) && (parenthesized_expression "(DAT_000890c8[1] != DAT_0008900c - 1)" ( (binary_expression "DAT_000890c8[1] != DAT_0008900c - 1" (subscript_expression "DAT_000890c8[1]" identifier [ number_literal ]) != (binary_expression "DAT_0008900c - 1" identifier - number_literal)) ))) )) (compound_statement "{\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }" { (expression_statement "DAT_000890f8 = 0x13;" (assignment_expression "DAT_000890f8 = 0x13" identifier = number_literal) ;) (expression_statement "local_e0 = 0x13;" (assignment_expression "local_e0 = 0x13" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) })) (expression_statement "DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;" (assignment_expression "DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7" identifier = (binary_expression "*(byte *)(puVar32 + 0xb) & 7" (pointer_expression "*(byte *)(puVar32 + 0xb)" * (cast_expression "(byte *)(puVar32 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }" if (parenthesized_expression "(((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2))" ( (binary_expression "((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)" (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 7) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 0xb) & 7) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 7)" ( (binary_expression "*(byte *)(puVar32 + 0xb) & 7" (pointer_expression "*(byte *)(puVar32 + 0xb)" * (cast_expression "(byte *)(puVar32 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(DAT_000890d8 != 2)" ( (binary_expression "DAT_000890d8 != 2" identifier != number_literal) ))) )) (compound_statement "{\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }" { (if_statement "if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }" if (parenthesized_expression "(DAT_000890cc != (int *)0x0)" ( (binary_expression "DAT_000890cc != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }" { (expression_statement "DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;" (assignment_expression "DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3" identifier = (binary_expression "((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3" (parenthesized_expression "((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f)" ( (binary_expression "(int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f" (cast_expression "(int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 )" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 )" ( (binary_expression "(uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f" (call_expression "(uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7)" ( (binary_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7" (pointer_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 0x33)" * (cast_expression "(byte *)((int)puVar32 + local_d4 * 8 + 0x33)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 0x33)" ( (binary_expression "(int)puVar32 + local_d4 * 8 + 0x33" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) >> number_literal) ))) << number_literal) ))) >> number_literal) )) + number_literal)) ;) })) (if_statement "if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }" if (parenthesized_expression "(DAT_00088ffc != 0)" ( (binary_expression "DAT_00088ffc != 0" identifier != number_literal) )) (compound_statement "{\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);" do (compound_statement "{\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            }" { (if_statement "if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }" if (parenthesized_expression "(((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02'))" ( (binary_expression "((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')" (parenthesized_expression "((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0)" ( (binary_expression "(*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f)" ( (binary_expression "*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" * (cast_expression "(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (binary_expression "(int)&DAT_00089010 + iVar23 * 8 + 2" (binary_expression "(int)&DAT_00089010 + iVar23 * 8" (cast_expression "(int)&DAT_00089010" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00089010" & identifier)) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')" ( (comma_expression "iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02'" (assignment_expression "iVar24 = (&DAT_00089038)[iVar23]" identifier = (subscript_expression "(&DAT_00089038)[iVar23]" (parenthesized_expression "(&DAT_00089038)" ( (pointer_expression "&DAT_00089038" & identifier) )) [ identifier ])) , (binary_expression "*(char *)(iVar24 + 0x10) == '\x02'" (pointer_expression "*(char *)(iVar24 + 0x10)" * (cast_expression "(char *)(iVar24 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x10)" ( (binary_expression "iVar24 + 0x10" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence '))) ))) )) (compound_statement "{\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }" { (expression_statement "uVar28 = *(uint *)(iVar24 + 8);" (assignment_expression "uVar28 = *(uint *)(iVar24 + 8)" identifier = (pointer_expression "*(uint *)(iVar24 + 8)" * (cast_expression "(uint *)(iVar24 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 8)" ( (binary_expression "iVar24 + 8" identifier + number_literal) ))))) ;) (if_statement "if (DAT_000890d0 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }" if (parenthesized_expression "(DAT_000890d0 == 0xffffffff)" ( (binary_expression "DAT_000890d0 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }" { comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28)" identifier (argument_list "("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""fits_in_disp8"" " string_content ") , identifier ))) ;) })) (expression_statement "bVar17 = (byte)DAT_000890d0;" (assignment_expression "bVar17 = (byte)DAT_000890d0" identifier = (cast_expression "(byte)DAT_000890d0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }" if (parenthesized_expression "(((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0)" ( (binary_expression "((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0" (parenthesized_expression "((1 << (bVar17 & 0x1f)) - 1U & uVar28)" ( (binary_expression "(1 << (bVar17 & 0x1f)) - 1U & uVar28" (binary_expression "(1 << (bVar17 & 0x1f)) - 1U" (parenthesized_expression "(1 << (bVar17 & 0x1f))" ( (binary_expression "1 << (bVar17 & 0x1f)" number_literal << (parenthesized_expression "(bVar17 & 0x1f)" ( (binary_expression "bVar17 & 0x1f" identifier & number_literal) ))) )) - number_literal) & identifier) )) == number_literal) )) (compound_statement "{\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }" { (expression_statement "uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);" (assignment_expression "uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f)" identifier = (binary_expression "*(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f)" (pointer_expression "*(int *)(iVar24 + 0xc)" * (cast_expression "(int *)(iVar24 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0xc)" ( (binary_expression "iVar24 + 0xc" identifier + number_literal) )))) >> (parenthesized_expression "(bVar17 & 0x1f)" ( (binary_expression "bVar17 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);" (assignment_expression "uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f)" identifier = (binary_expression "uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f)" (binary_expression "uVar28 >> (bVar17 & 0x1f)" identifier >> (parenthesized_expression "(bVar17 & 0x1f)" ( (binary_expression "bVar17 & 0x1f" identifier & number_literal) ))) | (binary_expression "*(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f)" (pointer_expression "*(int *)(iVar24 + 0xc)" * (cast_expression "(int *)(iVar24 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0xc)" ( (binary_expression "iVar24 + 0xc" identifier + number_literal) )))) << (binary_expression "0x20 - (bVar17 & 0x1f)" number_literal - (parenthesized_expression "(bVar17 & 0x1f)" ( (binary_expression "bVar17 & 0x1f" identifier & number_literal) )))))) ;) (expression_statement "uVar20 = uVar31;" (assignment_expression "uVar20 = uVar31" identifier = identifier) ;) (if_statement "if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }" if (parenthesized_expression "((DAT_000890d0 & 0x20) != 0)" ( (binary_expression "(DAT_000890d0 & 0x20) != 0" (parenthesized_expression "(DAT_000890d0 & 0x20)" ( (binary_expression "DAT_000890d0 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }" { (expression_statement "uVar20 = (int)uVar31 >> 0x1f;" (assignment_expression "uVar20 = (int)uVar31 >> 0x1f" identifier = (binary_expression "(int)uVar31 >> 0x1f" (cast_expression "(int)uVar31" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "uVar28 = uVar31;" (assignment_expression "uVar28 = uVar31" identifier = identifier) ;) })) (expression_statement "iVar24 = uVar20 + (0xffffff7f < uVar28);" (assignment_expression "iVar24 = uVar20 + (0xffffff7f < uVar28)" identifier = (binary_expression "uVar20 + (0xffffff7f < uVar28)" identifier + (parenthesized_expression "(0xffffff7f < uVar28)" ( (binary_expression "0xffffff7f < uVar28" number_literal < identifier) )))) ;) (if_statement "if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }" if (parenthesized_expression "(iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24)" ( (binary_expression "iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24" (binary_expression "iVar24 == 0" identifier == number_literal) && (binary_expression "(uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24" (call_expression "(uint)(0xff < uVar28 + 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff < uVar28 + 0x80)" ( (binary_expression "0xff < uVar28 + 0x80" number_literal < (binary_expression "uVar28 + 0x80" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar24" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }" { (expression_statement "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);" (assignment_expression "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" identifier = (cast_expression "(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (binary_expression "(int)&DAT_00089010 + iVar23 * 8 + 2" (binary_expression "(int)&DAT_00089010 + iVar23 * 8" (cast_expression "(int)&DAT_00089010" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00089010" & identifier)) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar2 = *pbVar2 | 1;" (assignment_expression "*pbVar2 = *pbVar2 | 1" (pointer_expression "*pbVar2" * identifier) = (binary_expression "*pbVar2 | 1" (pointer_expression "*pbVar2" * identifier) | number_literal)) ;) (goto_statement "goto LAB_0004d657;" goto statement_identifier ;) })) })) (expression_statement "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);" (assignment_expression "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" identifier = (cast_expression "(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (binary_expression "(int)&DAT_00089010 + iVar23 * 8 + 2" (binary_expression "(int)&DAT_00089010 + iVar23 * 8" (cast_expression "(int)&DAT_00089010" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00089010" & identifier)) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar2 = *pbVar2 & 0xfe;" (assignment_expression "*pbVar2 = *pbVar2 & 0xfe" (pointer_expression "*pbVar2" * identifier) = (binary_expression "*pbVar2 & 0xfe" (pointer_expression "*pbVar2" * identifier) & number_literal)) ;) })) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar23 != iVar19)" ( (binary_expression "iVar23 != iVar19" identifier != identifier) )) ;) })) })) (expression_statement "DAT_000890d0 = 0;" (assignment_expression "DAT_000890d0 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" statement_identifier : (if_statement "if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" if (parenthesized_expression "(DAT_000890e4 == 3)" ( (binary_expression "DAT_000890e4 == 3" identifier == number_literal) )) (compound_statement "{\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }" { (if_statement "if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;" if (parenthesized_expression "(*(char *)((int)puVar32 + 0x2b) != '\0')" ( (binary_expression "*(char *)((int)puVar32 + 0x2b) != '\0'" (pointer_expression "*(char *)((int)puVar32 + 0x2b)" * (cast_expression "(char *)((int)puVar32 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2b)" ( (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004d671;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" else (compound_statement "{\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" { (if_statement "if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }" if (parenthesized_expression "((*(byte *)((int)puVar32 + 0x29) & 6) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x29) & 6) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x29) & 6)" ( (binary_expression "*(byte *)((int)puVar32 + 0x29) & 6" (pointer_expression "*(byte *)((int)puVar32 + 0x29)" * (cast_expression "(byte *)((int)puVar32 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x29)" ( (binary_expression "(int)puVar32 + 0x29" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }" { (if_statement "if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;" if (parenthesized_expression "((*(byte *)((int)puVar32 + 0x35) & 1) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x35) & 1) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x35) & 1)" ( (binary_expression "*(byte *)((int)puVar32 + 0x35) & 1" (pointer_expression "*(byte *)((int)puVar32 + 0x35)" * (cast_expression "(byte *)((int)puVar32 + 0x35)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x35)" ( (binary_expression "(int)puVar32 + 0x35" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004d671;" goto statement_identifier ;)) (if_statement "if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }" if (parenthesized_expression "((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))" ( (binary_expression "(*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0)" (parenthesized_expression "(*(char *)(DAT_00089038 + 0x10) == '\x02')" ( (binary_expression "*(char *)(DAT_00089038 + 0x10) == '\x02'" (pointer_expression "*(char *)(DAT_00089038 + 0x10)" * (cast_expression "(char *)(DAT_00089038 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 0x10)" ( (binary_expression "DAT_00089038 + 0x10" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) )) && (parenthesized_expression "((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0)" ( (binary_expression "(*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0" (binary_expression "(*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0" (parenthesized_expression "(*(uint *)(DAT_00089038 + 8) & 0xfffffff0)" ( (binary_expression "*(uint *)(DAT_00089038 + 8) & 0xfffffff0" (pointer_expression "*(uint *)(DAT_00089038 + 8)" * (cast_expression "(uint *)(DAT_00089038 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 8)" ( (binary_expression "DAT_00089038 + 8" identifier + number_literal) )))) & number_literal) )) == number_literal) && (binary_expression "*(int *)(DAT_00089038 + 0xc) == 0" (pointer_expression "*(int *)(DAT_00089038 + 0xc)" * (cast_expression "(int *)(DAT_00089038 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 0xc)" ( (binary_expression "DAT_00089038 + 0xc" identifier + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }" { (expression_statement "DAT_00089010 = 0;" (assignment_expression "DAT_00089010 = 0" identifier = number_literal) ;) (expression_statement "DAT_00089014 = 0x100;" (assignment_expression "DAT_00089014 = 0x100" identifier = number_literal) ;) (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" identifier = (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0004bec6;" goto statement_identifier ;) })) (expression_statement "DAT_000890f8 = 5;" (assignment_expression "DAT_000890f8 = 5" identifier = number_literal) ;) (expression_statement "local_e0 = 5;" (assignment_expression "local_e0 = 5" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }" if (parenthesized_expression "(DAT_000890e4 == 0)" ( (binary_expression "DAT_000890e4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }" { (labeled_statement "LAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];" statement_identifier : (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" identifier = (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) ;)) (goto_statement "goto LAB_0004bec6;" goto statement_identifier ;) })) })))) (labeled_statement "LAB_0004cc2a:\n      DAT_000890f8 = 8;" statement_identifier : (expression_statement "DAT_000890f8 = 8;" (assignment_expression "DAT_000890f8 = 8" identifier = number_literal) ;)) (expression_statement "local_e0 = 8;" (assignment_expression "local_e0 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0004cef0:\n  DAT_000890f8 = 9;" statement_identifier : (expression_statement "DAT_000890f8 = 9;" (assignment_expression "DAT_000890f8 = 9" identifier = number_literal) ;)) (expression_statement "local_e0 = 9;" (assignment_expression "local_e0 = 9" identifier = number_literal) ;) (labeled_statement "LAB_0004ba48:\n  puVar21 = (undefined4 *)DAT_00088f88[1];" statement_identifier : (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" identifier = (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) ;)) (expression_statement "puVar33 = puVar32 + 0x16;" (assignment_expression "puVar33 = puVar32 + 0x16" identifier = (binary_expression "puVar32 + 0x16" identifier + number_literal)) ;) (if_statement "if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;" if (parenthesized_expression "(puVar21 <= puVar32 + 0x16)" ( (binary_expression "puVar21 <= puVar32 + 0x16" identifier <= (binary_expression "puVar32 + 0x16" identifier + number_literal)) )) (goto_statement "goto LAB_0004bec0;" goto statement_identifier ;)) (goto_statement "goto LAB_0004ba5c;" goto statement_identifier ;) (labeled_statement "LAB_0004bec0:\n  puVar32 = puVar32 + 0x16;" statement_identifier : (expression_statement "puVar32 = puVar32 + 0x16;" (assignment_expression "puVar32 = puVar32 + 0x16" identifier = (binary_expression "puVar32 + 0x16" identifier + number_literal)) ;)) (labeled_statement "LAB_0004bec6:\n  if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }" statement_identifier : (if_statement "if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }" if (parenthesized_expression "(puVar21 == puVar32)" ( (binary_expression "puVar21 == puVar32" identifier == identifier) )) (compound_statement "{\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }" { (if_statement "if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }" if (parenthesized_expression "(local_e0 == 0)" ( (binary_expression "local_e0 == 0" identifier == number_literal) )) (compound_statement "{\n      local_e0 = DAT_000890f8;\n    }" { (expression_statement "local_e0 = DAT_000890f8;" (assignment_expression "local_e0 = DAT_000890f8" identifier = identifier) ;) })) (switch_statement "switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }" switch (parenthesized_expression "(local_e0)" ( identifier )) (compound_statement "{\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }" { (case_statement "case 0:\n      pcVar26 = "operand size mismatch";\n      break;" case number_literal : (expression_statement "pcVar26 = "operand size mismatch";" (assignment_expression "pcVar26 = "operand size mismatch"" identifier = (string_literal ""operand size mismatch"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      pcVar26 = "operand type mismatch";\n      break;" case number_literal : (expression_statement "pcVar26 = "operand type mismatch";" (assignment_expression "pcVar26 = "operand type mismatch"" identifier = (string_literal ""operand type mismatch"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      pcVar26 = "register type mismatch";\n      break;" case number_literal : (expression_statement "pcVar26 = "register type mismatch";" (assignment_expression "pcVar26 = "register type mismatch"" identifier = (string_literal ""register type mismatch"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      goto LAB_0004cbaa;" case number_literal : (goto_statement "goto LAB_0004cbaa;" goto statement_identifier ;)) (case_statement "case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;" case number_literal : (expression_statement "pcVar26 = "invalid instruction suffix";" (assignment_expression "pcVar26 = "invalid instruction suffix"" identifier = (string_literal ""invalid instruction suffix"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;" case number_literal : (expression_statement "pcVar26 = "constant doesn\'t fit in 4 bits";" (assignment_expression "pcVar26 = "constant doesn\'t fit in 4 bits"" identifier = (string_literal ""constant doesn\'t fit in 4 bits"" " string_content escape_sequence string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported with Intel mnemonic";" (assignment_expression "pcVar26 = "unsupported with Intel mnemonic"" identifier = (string_literal ""unsupported with Intel mnemonic"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n      pcVar26 = "unsupported syntax";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported syntax";" (assignment_expression "pcVar26 = "unsupported syntax"" identifier = (string_literal ""unsupported syntax"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;" case number_literal : (expression_statement "uVar22 = *(undefined4 *)*DAT_00088f88;" (assignment_expression "uVar22 = *(undefined4 *)*DAT_00088f88" identifier = (pointer_expression "*(undefined4 *)*DAT_00088f88" * (cast_expression "(undefined4 *)*DAT_00088f88" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00088f88" * identifier)))) ;) (expression_statement "uVar27 = 5;" (assignment_expression "uVar27 = 5" identifier = number_literal) ;) (expression_statement "uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);" (assignment_expression "uVar25 = dcgettext(0,"unsupported instruction `%s\'",5)" identifier = (call_expression "dcgettext(0,"unsupported instruction `%s\'",5)" identifier (argument_list "(0,"unsupported instruction `%s\'",5)" ( number_literal , (string_literal ""unsupported instruction `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (goto_statement "goto code_r0x0004ca4e;" goto statement_identifier ;)) (case_statement "case 9:\n      pcVar26 = "invalid VSIB address";\n      break;" case number_literal : (expression_statement "pcVar26 = "invalid VSIB address";" (assignment_expression "pcVar26 = "invalid VSIB address"" identifier = (string_literal ""invalid VSIB address"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;" case number_literal : (expression_statement "pcVar26 = "mask, index, and destination registers must be distinct";" (assignment_expression "pcVar26 = "mask, index, and destination registers must be distinct"" identifier = (string_literal ""mask, index, and destination registers must be distinct"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported vector index register";" (assignment_expression "pcVar26 = "unsupported vector index register"" identifier = (string_literal ""unsupported vector index register"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported broadcast";" (assignment_expression "pcVar26 = "unsupported broadcast"" identifier = (string_literal ""unsupported broadcast"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;" case number_literal : (expression_statement "pcVar26 = "broadcast not on source memory operand";" (assignment_expression "pcVar26 = "broadcast not on source memory operand"" identifier = (string_literal ""broadcast not on source memory operand"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;" case number_literal : (expression_statement "pcVar26 = "broadcast is needed for operand of such type";" (assignment_expression "pcVar26 = "broadcast is needed for operand of such type"" identifier = (string_literal ""broadcast is needed for operand of such type"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n      pcVar26 = "unsupported masking";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported masking";" (assignment_expression "pcVar26 = "unsupported masking"" identifier = (string_literal ""unsupported masking"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;" case number_literal : (expression_statement "pcVar26 = "mask not on destination operand";" (assignment_expression "pcVar26 = "mask not on destination operand"" identifier = (string_literal ""mask not on destination operand"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;" case number_literal : (expression_statement "pcVar26 = "default mask isn\'t allowed";" (assignment_expression "pcVar26 = "default mask isn\'t allowed"" identifier = (string_literal ""default mask isn\'t allowed"" " string_content escape_sequence string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported static rounding/sae";" (assignment_expression "pcVar26 = "unsupported static rounding/sae"" identifier = (string_literal ""unsupported static rounding/sae"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;" case number_literal : (if_statement "if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }" if (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }" { (expression_statement "pcVar26 = "RC/SAE operand must follow immediate operands";" (assignment_expression "pcVar26 = "RC/SAE operand must follow immediate operands"" identifier = (string_literal ""RC/SAE operand must follow immediate operands"" " string_content ")) ;) }) (else_clause "else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }" else (compound_statement "{\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }" { (expression_statement "pcVar26 = "RC/SAE operand must precede immediate operands";" (assignment_expression "pcVar26 = "RC/SAE operand must precede immediate operands"" identifier = (string_literal ""RC/SAE operand must precede immediate operands"" " string_content ")) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x14:\n      pcVar26 = "invalid register operand";\n      break;" case number_literal : (expression_statement "pcVar26 = "invalid register operand";" (assignment_expression "pcVar26 = "invalid register operand"" identifier = (string_literal ""invalid register operand"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);" default : comment (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32)" identifier (argument_list "("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""match_template"" " string_content ") , identifier ))) ;)) })) (labeled_statement "LAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);" statement_identifier : (expression_statement "uVar22 = dcgettext(0,pcVar26,5);" (assignment_expression "uVar22 = dcgettext(0,pcVar26,5)" identifier = (call_expression "dcgettext(0,pcVar26,5)" identifier (argument_list "(0,pcVar26,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "uVar27 = *(undefined4 *)*DAT_00088f88;" (assignment_expression "uVar27 = *(undefined4 *)*DAT_00088f88" identifier = (pointer_expression "*(undefined4 *)*DAT_00088f88" * (cast_expression "(undefined4 *)*DAT_00088f88" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00088f88" * identifier)))) ;) (expression_statement "uVar25 = dcgettext(0,"%s for `%s\'",5);" (assignment_expression "uVar25 = dcgettext(0,"%s for `%s\'",5)" identifier = (call_expression "dcgettext(0,"%s for `%s\'",5)" identifier (argument_list "(0,"%s for `%s\'",5)" ( number_literal , (string_literal ""%s for `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (labeled_statement "code_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);" statement_identifier : (expression_statement "FUN_0002bd60(uVar25,uVar22,uVar27);" (call_expression "FUN_0002bd60(uVar25,uVar22,uVar27)" identifier (argument_list "(uVar25,uVar22,uVar27)" ( identifier , identifier , identifier ))) ;)) (return_statement "return (undefined4 *)0x0;" return (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) }))) (if_statement "if (DAT_00088ec0 != 0) goto LAB_0004bf2b;" if (parenthesized_expression "(DAT_00088ec0 != 0)" ( (binary_expression "DAT_00088ec0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004bf2b;" goto statement_identifier ;)) (labeled_statement "LAB_0004bed8:\n  if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }" statement_identifier : (if_statement "if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }" if (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }" { (if_statement "if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }" if (parenthesized_expression "((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1))" ( (binary_expression "(DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)" (parenthesized_expression "(DAT_00089010._3_1_ >> 1 & 1)" ( (binary_expression "DAT_00089010._3_1_ >> 1 & 1" (binary_expression "DAT_00089010._3_1_ >> 1" (field_expression "DAT_00089010._3_1_" identifier . field_identifier) >> number_literal) & number_literal) )) != (parenthesized_expression "(local_44._3_1_ >> 1 & 1)" ( (binary_expression "local_44._3_1_ >> 1 & 1" (binary_expression "local_44._3_1_ >> 1" (field_expression "local_44._3_1_" identifier . field_identifier) >> number_literal) & number_literal) ))) )) (compound_statement "{\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }" { (expression_statement "uVar27 = *puVar32;" (assignment_expression "uVar27 = *puVar32" identifier = (pointer_expression "*puVar32" * identifier)) ;) (expression_statement "uVar22 = dcgettext(0,"indirect %s without `*\'",5);" (assignment_expression "uVar22 = dcgettext(0,"indirect %s without `*\'",5)" identifier = (call_expression "dcgettext(0,"indirect %s without `*\'",5)" identifier (argument_list "(0,"indirect %s without `*\'",5)" ( number_literal , (string_literal ""indirect %s without `*\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar22,uVar27);" (call_expression "FUN_0002bc80(uVar22,uVar27)" identifier (argument_list "(uVar22,uVar27)" ( identifier , identifier ))) ;) })) }))) (if_statement "if (((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')) {\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }" if (parenthesized_expression "(((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0'))" ( (binary_expression "((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')" (parenthesized_expression "((*(byte *)(puVar32 + 10) & 0x10) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 10) & 0x10) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 10) & 0x10)" ( (binary_expression "*(byte *)(puVar32 + 10) & 0x10" (pointer_expression "*(byte *)(puVar32 + 10)" * (cast_expression "(byte *)(puVar32 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 10)" ( (binary_expression "puVar32 + 10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(char *)((int)puVar32 + 0x25) < '\0')" ( (binary_expression "*(char *)((int)puVar32 + 0x25) < '\0'" (pointer_expression "*(char *)((int)puVar32 + 0x25)" * (cast_expression "(char *)((int)puVar32 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }" { (expression_statement "uVar27 = *puVar32;" (assignment_expression "uVar27 = *puVar32" identifier = (pointer_expression "*puVar32" * identifier)) ;) (expression_statement "uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);" (assignment_expression "uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5)" identifier = (call_expression "dcgettext(0,"stand-alone `%s\' prefix",5)" identifier (argument_list "(0,"stand-alone `%s\' prefix",5)" ( number_literal , (string_literal ""stand-alone `%s\' prefix"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar22,uVar27);" (call_expression "FUN_0002bc80(uVar22,uVar27)" identifier (argument_list "(uVar22,uVar27)" ( identifier , identifier ))) ;) })) (labeled_statement "LAB_0004bf2b:\n  puVar33 = puVar32;" statement_identifier : (expression_statement "puVar33 = puVar32;" (assignment_expression "puVar33 = puVar32" identifier = identifier) ;)) (expression_statement "puVar21 = &DAT_00088fa0;" (assignment_expression "puVar21 = &DAT_00088fa0" identifier = (pointer_expression "&DAT_00088fa0" & identifier)) ;) (for_statement "for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }" for ( (assignment_expression "iVar19 = 0x16" identifier = number_literal) ; (binary_expression "iVar19 != 0" identifier != number_literal) ; (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }" { (expression_statement "*puVar21 = *puVar33;" (assignment_expression "*puVar21 = *puVar33" (pointer_expression "*puVar21" * identifier) = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar34 * -2 + 1" (binary_expression "puVar33 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar21 = puVar21 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar21 = puVar21 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar21 + (uint)bVar34 * -2 + 1" (binary_expression "puVar21 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (local_d8 != -1) {\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }" if (parenthesized_expression "(local_d8 != -1)" ( (binary_expression "local_d8 != -1" identifier != number_literal) )) (compound_statement "{\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }" { (expression_statement "uVar5 = (&local_40)[local_d8 * 2];" (assignment_expression "uVar5 = (&local_40)[local_d8 * 2]" identifier = (subscript_expression "(&local_40)[local_d8 * 2]" (parenthesized_expression "(&local_40)" ( (pointer_expression "&local_40" & identifier) )) [ (binary_expression "local_d8 * 2" identifier * number_literal) ])) ;) (expression_statement "*(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];" (assignment_expression "*(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2]" (pointer_expression "*(undefined4 *)(&DAT_00088fd0 + local_d8 * 8)" * (cast_expression "(undefined4 *)(&DAT_00088fd0 + local_d8 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00088fd0 + local_d8 * 8)" ( (binary_expression "&DAT_00088fd0 + local_d8 * 8" (pointer_expression "&DAT_00088fd0" & identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) )))) = (subscript_expression "(&local_44)[local_d8 * 2]" (parenthesized_expression "(&local_44)" ( (pointer_expression "&local_44" & identifier) )) [ (binary_expression "local_d8 * 2" identifier * number_literal) ])) ;) (expression_statement "(&DAT_00088fd4)[local_d8 * 2] = uVar5;" (assignment_expression "(&DAT_00088fd4)[local_d8 * 2] = uVar5" (subscript_expression "(&DAT_00088fd4)[local_d8 * 2]" (parenthesized_expression "(&DAT_00088fd4)" ( (pointer_expression "&DAT_00088fd4" & identifier) )) [ (binary_expression "local_d8 * 2" identifier * number_literal) ]) = identifier) ;) })) (if_statement "if (local_dc != 0) {\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }" if (parenthesized_expression "(local_dc != 0)" ( (binary_expression "local_dc != 0" identifier != number_literal) )) (compound_statement "{\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }" { (expression_statement "DAT_00088fa8 = DAT_00088fa8 ^ local_dc;" (assignment_expression "DAT_00088fa8 = DAT_00088fa8 ^ local_dc" identifier = (binary_expression "DAT_00088fa8 ^ local_dc" identifier ^ identifier)) ;) (expression_statement "DAT_00088fd4 = local_38;" (assignment_expression "DAT_00088fd4 = local_38" identifier = identifier) ;) (expression_statement "_DAT_00088fd0 = local_3c;" (assignment_expression "_DAT_00088fd0 = local_3c" identifier = identifier) ;) (expression_statement "DAT_00088fdc = local_40;" (assignment_expression "DAT_00088fdc = local_40" identifier = identifier) ;) (expression_statement "DAT_00088fd8 = local_44;" (assignment_expression "DAT_00088fd8 = local_44" identifier = identifier) ;) })) (return_statement "return puVar32;" return identifier ;) }))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\ninsn_template * __regparm3 match_template(char mnem_suffix)\n\n{\n  byte *pbVar1;\n  byte bVar2;\n  char cVar3;\n  byte bVar4;\n  undefined4 uVar5;\n  expressionS *peVar6;\n  i386_operand_type g0;\n  i386_operand_type g0_00;\n  i386_operand_type g0_01;\n  i386_operand_type g0_02;\n  i386_operand_type g0_03;\n  i386_operand_type g1;\n  i386_operand_type g1_00;\n  i386_operand_type g1_01;\n  i386_operand_type g1_02;\n  i386_operand_type g1_03;\n  i386_operand_type t1;\n  i386_operand_type t1_00;\n  i386_operand_type t1_01;\n  i386_operand_type t1_02;\n  i386_operand_type t1_03;\n  i386_operand_type t0;\n  i386_operand_type t0_00;\n  i386_operand_type t0_01;\n  i386_operand_type t0_02;\n  i386_operand_type t0_03;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  bool bVar17;\n  undefined4 uVar18;\n  byte bVar19;\n  int iVar20;\n  uint uVar21;\n  insn_template *piVar22;\n  char *pcVar23;\n  char *format;\n  char *pcVar24;\n  check_kind cVar25;\n  byte bVar26;\n  check_kind cVar27;\n  uint extraout_ECX;\n  uint extraout_ECX_00;\n  byte bVar28;\n  uint uVar30;\n  uint uVar31;\n  insn_template *t;\n  insn_template *piVar32;\n  uint uVar33;\n  i386_insn *piVar34;\n  uint uVar35;\n  byte bVar36;\n  i386_error local_e0;\n  uint local_dc;\n  flag_code local_d8;\n  check_kind local_d4;\n  uint local_d0;\n  byte local_c8;\n  byte local_c0;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  uint local_98;\n  uint local_94;\n  uint local_90;\n  byte local_8c;\n  i386_opcode_modifier suffix_check;\n  i386_opcode_modifier mnemsuf_check;\n  i386_operand_type operand_types [5];\n  byte bVar29;\n  \n  uVar18 = acc32.array[0];\n  bVar36 = 0;\n  bVar12 = false;\n  bVar11 = false;\n  bVar10 = false;\n  bVar9 = false;\n  bVar8 = false;\n  bVar7 = false;\n  if ((intel_syntax == 0) || (i.broadcast == (Broadcast_Operation *)0x0)) {\n    if (i.suffix == 'b') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n    }\n    else if (i.suffix == 'w') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n    }\n    else if (i.suffix == 's') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    bVar17 = false;\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    if (intel_syntax != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar17 = false;\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    switch(mnem_suffix) {\n    case 'b':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      break;\n    case 'l':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'q':\n      bVar17 = true;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 's':\n      bVar17 = false;\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'w':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n    }\n  }\n  i.error = number_of_operands_mismatch;\n  t = current_templates->start;\n  if (t < current_templates->end) {\n    local_e0 = operand_size_mismatch;\n    local_dc = 0;\n    piVar32 = t;\nLAB_0004ba5c:\n    t = piVar32;\n    local_d8 = ~CODE_32BIT;\n    if (i.operands != t->operands) goto LAB_0004ba48;\n    i.error = unsupported;\n    iVar20 = cpu_flags_match(t);\n    if ((iVar20 != 3) ||\n       ((i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0)))) goto LAB_0004ba48;\n    i.error = unsupported_syntax;\n    if (intel_syntax == 0) {\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if ((bVar26 & 1) != 0) goto LAB_0004bea5;\n      if (intel64 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar26 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      i.error = invalid_instruction_suffix;\n      bVar26 = (t->opcode_modifier).field_0x2;\n      if ((((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))) ||\n         ((((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))))))\n      goto LAB_0004bea5;\n      if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0) ==\n          (undefined1  [12])0x0) {\n        uVar33 = i.operands;\n        if (i.operands != 0) {\n          uVar33 = 0;\n          do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);\n          uVar33 = 0;\n        }\n      }\n      else {\n        uVar33 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < (char)(t->opcode_modifier).field_0x8) {\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if (intel64 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar26 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }\n  if (t == current_templates->end) {\n_L3098:\n    pcVar24 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }\n  if (quiet_warnings != 0) {\n    piVar32 = t;\n    piVar34 = &i;\n    for (iVar20 = 0x16; iVar20 != 0; iVar20 = iVar20 + -1) {\n      (piVar34->tm).name = piVar32->name;\n      piVar32 = (insn_template *)&piVar32->operands;\n      piVar34 = (i386_insn *)&(piVar34->tm).operands;\n    }\n    return t;\n  }\n  local_d8 = ~CODE_32BIT;\n  local_dc = 0;\n  goto LAB_0004bed8;\nLAB_0004bc61:\n  if (((((ulonglong)t->operand_types[uVar33] & 1) != 0) ||\n      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0)) &&\n     (((((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))) ||\n      ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))))))) goto LAB_0004c4e4;\n  if ((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x10) != 0) {\n    uVar21 = uVar33 ^ 1;\n    if ((((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))))) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0)))) goto LAB_0004c4e4;\n    if (((((ulonglong)t->operand_types[uVar21] & 4) == 0) ||\n        (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n       ((bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))))) {\n      if ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar26 = *(byte *)((int)i.types + uVar21 * 8 + 4);\n      if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }\n  if (uVar33 == 1) goto code_r0x0004be14;\n  uVar33 = 1;\n  goto LAB_0004bc61;\nLAB_0004c4e4:\n  i.error = operand_size_mismatch;\n  local_d8 = ~CODE_32BIT;\n  goto LAB_0004ba48;\ncode_r0x0004be14:\n  uVar33 = 0;\nLAB_0004c04c:\n  do {\n    uVar5 = *(undefined4 *)((int)t->operand_types + uVar33 * 8 + 4);\n    operand_types[uVar33].array[0] = t->operand_types[uVar33].array[0];\n    *(undefined4 *)((int)operand_types + uVar33 * 8 + 4) = uVar5;\n    uVar33 = uVar33 + 1;\n  } while (uVar33 != 5);\n  if (i.suffix == 'q') {\n    if (flag_code != CODE_64BIT) {\n      if (intel_syntax == 0) {\n        if ((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))\n        goto LAB_0004be5a;\n      }\n      else if ((-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))) {\nLAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = t->operands;\n  }\n  else {\n    if ((i.suffix != 'l') || ((cpu_arch_flags.array[0]._0_1_ & 4) != 0)) goto LAB_0004c390;\n    if (intel_syntax == 0) {\n      if ((*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2))\n      goto LAB_0004c390;\n    }\n    else if (((char)(t->opcode_modifier).field_0x1 < '\0') ||\n            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))))\n    goto LAB_0004c390;\n    if ((operand_types[0].array[0] & 6) == 0) goto LAB_0004bea5;\n    local_d4 = t->operands;\n    if ((((ulonglong)operand_types[1 < local_d4] & 2) == 0) &&\n       (((ulonglong)operand_types[1 < local_d4] & 4) == 0)) goto LAB_0004bea5;\n  }\nLAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = ~CODE_32BIT;\n    piVar22 = current_templates->end;\n    goto LAB_0004bec6;\n  }\n  local_d8 = ~CODE_32BIT;\n  if (i.prefix[2] != '\0') {\n    if (flag_code == CODE_16BIT) {\n      local_d8 = CODE_32BIT;\n      do {\n        if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + CODE_16BIT;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = flag_code;\n      if (flag_code == CODE_32BIT) {\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = ~CODE_32BIT;\n        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;\n        local_d8 = CODE_32BIT;\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = ~CODE_32BIT;\n  }\nLAB_0004c3ff:\n  if ((i.reloc[0] == BFD_RELOC_386_GOT32) && (t->base_opcode == 0xa0)) goto LAB_0004ba48;\n  bVar26 = (t->opcode_modifier).field_0x1;\n  local_d0 = 0;\n  if ((bVar26 & 0x40) != 0) {\n    local_d0 = (1 << ((undefined1)local_d4 & 0x1f)) - 1;\n    if (i.broadcast != (Broadcast_Operation *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)(i.broadcast)->operand & 0x1f));\n    }\n  }\n  uVar21 = i.types[0].array[0] & operand_types[0].array[0];\n  bVar19 = (byte)(uVar21 >> 0x10);\n  local_8c = (byte)(uVar21 >> 0x18);\n  bVar28 = (byte)((uint)i.types[0]._0_4_ >> 0x18);\n  bVar2 = (byte)((uint)i.types[1]._0_4_ >> 0x10);\n  bVar29 = (byte)((uint)i.types[1]._0_4_ >> 0x18);\n  local_c8 = (byte)i.types[0].array[1];\n  uVar33 = local_dc;\n  switch(local_d4) {\n  default:\n    goto _L2937;\n  case check_warning:\n    if (((uVar21 & 0x1dffffff) != 0 ||\n         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n       (((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0))\n    goto _L2937;\n    goto LAB_0004c880;\n  case check_error:\n    if (flag_code == CODE_64BIT) {\n      if ((((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)) &&\n         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))))\n      goto LAB_0004ba48;\n    }\n    else if (((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&\n            ((i.types[1].array[0] & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (i.dir_encoding != Cpu386) goto _L2938;\n    bVar4 = *(byte *)&t->opcode_modifier;\n    if ((bVar4 & 1) == 0) goto LAB_0004c538;\n    goto LAB_0004c7fc;\n  case check_error|check_warning:\n    break;\n  case 4:\n  case 5:\n    goto _L2938;\n  }\n  if (i.dir_encoding == Cpu386) {\nLAB_0004c538:\n    if ((i.mem_operands == 0) &&\n       ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=\n        (undefined1  [12])0x0)) goto LAB_0004ba48;\n  }\n_L2938:\n  if (((uVar21 & 0x1dffffff) != 0 ||\n       (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n     (((((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))) &&\n         ((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))))) {\n        i.error = register_type_mismatch;\n        goto LAB_0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\nLAB_0004d03b:\n      local_98 = i.types[3].array[1] & operand_types[3].array[1];\n      local_a4 = i.types[3].array[0] & operand_types[3].array[0];\nLAB_0004d05d:\n      local_9c = i.types[2].array[1] & operand_types[2].array[1];\n      local_a0 = operand_types[2].array[0] & i.types[2].array[0];\n    }\n    else {\n      if (local_d4 == 5) {\n        local_94 = i.types[4].array[1] & operand_types[4].array[1];\n        local_90 = i.types[4].array[0] & operand_types[4].array[0];\n        goto LAB_0004d03b;\n      }\n      if (local_d4 == 3) goto LAB_0004d05d;\n    }\n    if (local_d4 == 4) {\nLAB_0004d3b2:\n      if (((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)) {\n        uVar21 = i.types[3].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);\n        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto _L2937;\nLAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }\n    }\nLAB_0004c880:\n    i.error = operand_type_mismatch;\n    goto LAB_0004ba48;\n  }\n  i.error = operand_type_mismatch;\nLAB_0004c7ec:\n  bVar4 = *(byte *)&t->opcode_modifier;\n  if ((bVar4 & 1) == 0) goto LAB_0004ba48;\nLAB_0004c7fc:\n  uVar33 = i.types[0].array[0] & operand_types[1].array[0];\n  if (((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00) == 0 &&\n      (i.types[0].array[1] & operand_types[1].array[1] & 0x80) == 0)) goto LAB_0004c880;\n  local_c0 = (byte)(uVar33 >> 0x18);\n  if ((((((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||\n        ((bVar28 ^ local_c0) & 2) != 0) ||\n      (uVar33 = operand_types[0].array[0] & i.types[1].array[0],\n      ((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar33 >> 0x18),\n     (((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40) != 0 || ((bVar29 ^ local_c0) & 2) != 0))\n  goto LAB_0004c880;\n  if (local_d0 != 0) {\n    if (((((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))) &&\n        (((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))))) &&\n       ((((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))\n        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )))))) {\n      i.error = register_type_mismatch;\n      goto LAB_0004ba48;\n    }\n  }\n  local_dc = 0;\n  if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02) + 0x400;\n  }\n  uVar33 = local_dc | 8;\n  if ((bVar26 & 4) == 0) {\n    uVar33 = local_dc;\n  }\n_L2937:\n  local_dc = uVar33;\n  if (((((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0)) ||\n       (((t->cpu_flags).array[1] & DAT_0006537c) != 0)) ||\n      (((t->cpu_flags).array[0] & avx512_15705) != 0)) &&\n     ((((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0 &&\n      (t->operands != 0)))) {\n    uVar33 = 0;\n    do {\n      if (((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0) &&\n         ((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)))) goto LAB_0004cc2a;\n      uVar33 = uVar33 + 1;\n    } while (t->operands != uVar33);\n  }\n  bVar26 = (t->opcode_modifier).field_0x6;\n  bVar19 = bVar26 & 0x30;\n  if ((bVar26 & 0x30) == 0) {\n    if ((i.index_reg != (reg_entry *)0x0) &&\n       (((ulonglong)(i.index_reg)->reg_type & 0x3800000000) != 0)) {\n      i.error = unsupported_vector_index_register;\n      local_e0 = unsupported_vector_index_register;\n      goto LAB_0004ba48;\n    }\n    if (((t->opcode_modifier).field_0x8 & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }\n  if (((t->opcode_modifier).field_0x8 & 8) != 0) {\nLAB_0004c6f7:\n    if ((i.mask == (Mask_Operation *)0x0) || ((i.mask)->mask->reg_num == '\0')) {\n      i.error = no_default_mask;\n      local_e0 = no_default_mask;\n      goto LAB_0004ba48;\n    }\n    if (bVar19 == 0) goto LAB_0004c71a;\n  }\n  if (i.index_reg != (reg_entry *)0x0) {\n    if (bVar19 == 0x10) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 8;\n    }\n    else if (bVar19 == 0x20) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10;\n    }\n    else {\n      if (bVar19 != 0x30) goto LAB_0004cef0;\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;\n    }\n    if (bVar26 != 0) {\n      if (i.reg_operands == 2) {\n        if (i.mask != (Mask_Operation *)0x0) goto LAB_0004c71a;\n        if ((i.types[0].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");\n        }\n        if ((i.types[0].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");\n        }\n        if ((i.types[2].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");\n        }\n        if ((i.types[2].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");\n        }\n        if (operand_check != check_none) {\n          cVar27 = (check_kind)(i.op[0].regs)->reg_num;\n          if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }\n          if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }\n          bVar26 = (i.index_reg)->reg_flags;\n          cVar25 = (check_kind)bVar26;\n          local_d4 = (check_kind)(i.index_reg)->reg_num;\n          if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }\n          if (operand_check == check_error) goto LAB_0004ddd8;\n          pcVar24 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (i.mask == (Mask_Operation *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }\n        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)) {\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }\nLAB_0004c71a:\n        uVar33 = i.operands;\n        bVar26 = (t->opcode_modifier).field_0x7;\n        if (i.broadcast != (Broadcast_Operation *)0x0) {\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }\n        if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }\n        if (i.rounding != (RC_Operation *)0x0) {\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }\n        bVar26 = (t->opcode_modifier).field_0x8;\n        i.memshift = bVar26 & 7;\n        if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }\n        i.memshift = 0;\n      }\nLAB_0004d657:\n      if (i.vec_encoding == Cpu486) {\n        if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;\n      }\n      else {\n        if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }\n        if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      i.error = unsupported;\n      local_e0 = unsupported;\n      goto LAB_0004ba48;\n    }\n  }\nLAB_0004cef0:\n  i.error = invalid_vsib_address;\n  local_e0 = invalid_vsib_address;\nLAB_0004ba48:\n  piVar22 = current_templates->end;\n  piVar32 = t + 1;\n  if (piVar22 <= t + 1) goto LAB_0004bec0;\n  goto LAB_0004ba5c;\nLAB_0004bec0:\n  t = t + 1;\nLAB_0004bec6:\n  if (piVar22 == t) {\n    if (local_e0 == operand_size_mismatch) {\n      local_e0 = i.error;\n    }\n    switch(local_e0) {\n    case operand_size_mismatch:\n      pcVar24 = "operand size mismatch";\n      break;\n    case operand_type_mismatch:\n      pcVar24 = "operand type mismatch";\n      break;\n    case register_type_mismatch:\n      pcVar24 = "register type mismatch";\n      break;\n    case number_of_operands_mismatch:\n      goto _L3098;\n    case invalid_instruction_suffix:\n      pcVar24 = "invalid instruction suffix";\n      break;\n    case bad_imm4:\n      pcVar24 = "constant doesn\'t fit in 4 bits";\n      break;\n    case unsupported_with_intel_mnemonic:\n      pcVar24 = "unsupported with Intel mnemonic";\n      break;\n    case unsupported_syntax:\n      pcVar24 = "unsupported syntax";\n      break;\n    case unsupported:\n      pcVar23 = current_templates->start->name;\n      pcVar24 = (char *)0x5;\n      format = (char *)dcgettext(0,"unsupported instruction `%s\'",5);\n      goto LAB_0004ca4e;\n    case invalid_vsib_address:\n      pcVar24 = "invalid VSIB address";\n      break;\n    case invalid_vector_register_set:\n      pcVar24 = "mask, index, and destination registers must be distinct";\n      break;\n    case unsupported_vector_index_register:\n      pcVar24 = "unsupported vector index register";\n      break;\n    case unsupported_broadcast:\n      pcVar24 = "unsupported broadcast";\n      break;\n    case broadcast_not_on_src_operand:\n      pcVar24 = "broadcast not on source memory operand";\n      break;\n    case broadcast_needed:\n      pcVar24 = "broadcast is needed for operand of such type";\n      break;\n    case unsupported_masking:\n      pcVar24 = "unsupported masking";\n      break;\n    case mask_not_on_destination:\n      pcVar24 = "mask not on destination operand";\n      break;\n    case no_default_mask:\n      pcVar24 = "default mask isn\'t allowed";\n      break;\n    case unsupported_rc_sae:\n      pcVar24 = "unsupported static rounding/sae";\n      break;\n    case rc_sae_operand_not_last_imm:\n      if (intel_syntax == 0) {\n        pcVar24 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case invalid_register_operand:\n      pcVar24 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x160d,"match_template");\n    }\nLAB_0004ca20:\n    pcVar23 = (char *)dcgettext(0,pcVar24,5);\n    pcVar24 = current_templates->start->name;\n    format = (char *)dcgettext(0,"%s for `%s\'",5);\nLAB_0004ca4e:\n    as_bad(format,pcVar23,pcVar24);\n    return (insn_template *)0x0;\n  }\n  if (quiet_warnings != 0) goto LAB_0004bf2b;\nLAB_0004bed8:\n  if (intel_syntax == 0) {\n    if (((byte)i.types[0].array[0]._3_1_ >> 1 & 1) != ((byte)operand_types[0]._3_1_ >> 1 & 1)) {\n      pcVar24 = t->name;\n      pcVar23 = (char *)dcgettext(0,"indirect %s without `*\'",5);\n      as_warn(pcVar23,pcVar24);\n    }\n  }\n  if ((((t->opcode_modifier).field_0x4 & 0x10) != 0) &&\n     ((char)(t->opcode_modifier).field_0x1 < '\0')) {\n    pcVar24 = t->name;\n    pcVar23 = (char *)dcgettext(0,"stand-alone `%s\' prefix",5);\n    as_warn(pcVar23,pcVar24);\n  }\nLAB_0004bf2b:\n  piVar32 = t;\n  piVar34 = &i;\n  for (iVar20 = 0x16; iVar20 != 0; iVar20 = iVar20 + -1) {\n    (piVar34->tm).name = piVar32->name;\n    piVar32 = (insn_template *)((int)piVar32 + (uint)bVar36 * -8 + 4);\n    piVar34 = (i386_insn *)((int)piVar34 + ((uint)bVar36 * -2 + 1) * 4);\n  }\n  if (local_d8 != ~CODE_32BIT) {\n    uVar5 = *(undefined4 *)((int)operand_types + local_d8 * 8 + 4);\n    i.tm.operand_types[local_d8].array[0] = operand_types[local_d8].array[0];\n    *(undefined4 *)((int)i.tm.operand_types + local_d8 * 8 + 4) = uVar5;\n  }\n  if (local_dc != 0) {\n    i.tm.base_opcode = i.tm.base_opcode ^ local_dc;\n    i.tm.operand_types[0].array[1] = operand_types[1].array[1];\n    i.tm.operand_types[0].array[0] = operand_types[1].array[0];\n    i.tm.operand_types[1].array[1] = operand_types[0].array[1];\n    i.tm.operand_types[1].array[0] = operand_types[0].array[0];\n  }\n  return t;\n}\n\n" comment comment (ERROR "insn_template * __regparm3 match_template(char mnem_suffix)" (binary_expression "insn_template * __regparm3 match_template(char mnem_suffix)" identifier * (ERROR "__regparm3" identifier) (call_expression "match_template(char mnem_suffix)" identifier (argument_list "(char mnem_suffix)" ( (ERROR "char" identifier) identifier ))))) (compound_statement "{\n  byte *pbVar1;\n  byte bVar2;\n  char cVar3;\n  byte bVar4;\n  undefined4 uVar5;\n  expressionS *peVar6;\n  i386_operand_type g0;\n  i386_operand_type g0_00;\n  i386_operand_type g0_01;\n  i386_operand_type g0_02;\n  i386_operand_type g0_03;\n  i386_operand_type g1;\n  i386_operand_type g1_00;\n  i386_operand_type g1_01;\n  i386_operand_type g1_02;\n  i386_operand_type g1_03;\n  i386_operand_type t1;\n  i386_operand_type t1_00;\n  i386_operand_type t1_01;\n  i386_operand_type t1_02;\n  i386_operand_type t1_03;\n  i386_operand_type t0;\n  i386_operand_type t0_00;\n  i386_operand_type t0_01;\n  i386_operand_type t0_02;\n  i386_operand_type t0_03;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  bool bVar17;\n  undefined4 uVar18;\n  byte bVar19;\n  int iVar20;\n  uint uVar21;\n  insn_template *piVar22;\n  char *pcVar23;\n  char *format;\n  char *pcVar24;\n  check_kind cVar25;\n  byte bVar26;\n  check_kind cVar27;\n  uint extraout_ECX;\n  uint extraout_ECX_00;\n  byte bVar28;\n  uint uVar30;\n  uint uVar31;\n  insn_template *t;\n  insn_template *piVar32;\n  uint uVar33;\n  i386_insn *piVar34;\n  uint uVar35;\n  byte bVar36;\n  i386_error local_e0;\n  uint local_dc;\n  flag_code local_d8;\n  check_kind local_d4;\n  uint local_d0;\n  byte local_c8;\n  byte local_c0;\n  uint local_a4;\n  uint local_a0;\n  uint local_9c;\n  uint local_98;\n  uint local_94;\n  uint local_90;\n  byte local_8c;\n  i386_opcode_modifier suffix_check;\n  i386_opcode_modifier mnemsuf_check;\n  i386_operand_type operand_types [5];\n  byte bVar29;\n  \n  uVar18 = acc32.array[0];\n  bVar36 = 0;\n  bVar12 = false;\n  bVar11 = false;\n  bVar10 = false;\n  bVar9 = false;\n  bVar8 = false;\n  bVar7 = false;\n  if ((intel_syntax == 0) || (i.broadcast == (Broadcast_Operation *)0x0)) {\n    if (i.suffix == 'b') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n    }\n    else if (i.suffix == 'w') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n    }\n    else if (i.suffix == 's') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    bVar17 = false;\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    if (intel_syntax != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar17 = false;\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    switch(mnem_suffix) {\n    case 'b':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      break;\n    case 'l':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'q':\n      bVar17 = true;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 's':\n      bVar17 = false;\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'w':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n    }\n  }\n  i.error = number_of_operands_mismatch;\n  t = current_templates->start;\n  if (t < current_templates->end) {\n    local_e0 = operand_size_mismatch;\n    local_dc = 0;\n    piVar32 = t;\nLAB_0004ba5c:\n    t = piVar32;\n    local_d8 = ~CODE_32BIT;\n    if (i.operands != t->operands) goto LAB_0004ba48;\n    i.error = unsupported;\n    iVar20 = cpu_flags_match(t);\n    if ((iVar20 != 3) ||\n       ((i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0)))) goto LAB_0004ba48;\n    i.error = unsupported_syntax;\n    if (intel_syntax == 0) {\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if ((bVar26 & 1) != 0) goto LAB_0004bea5;\n      if (intel64 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar26 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      i.error = invalid_instruction_suffix;\n      bVar26 = (t->opcode_modifier).field_0x2;\n      if ((((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))) ||\n         ((((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))))))\n      goto LAB_0004bea5;\n      if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0) ==\n          (undefined1  [12])0x0) {\n        uVar33 = i.operands;\n        if (i.operands != 0) {\n          uVar33 = 0;\n          do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);\n          uVar33 = 0;\n        }\n      }\n      else {\n        uVar33 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < (char)(t->opcode_modifier).field_0x8) {\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if (intel64 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar26 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }\n  if (t == current_templates->end) {\n_L3098:\n    pcVar24 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }\n  if (quiet_warnings != 0) {\n    piVar32 = t;\n    piVar34 = &i;\n    for (iVar20 = 0x16; iVar20 != 0; iVar20 = iVar20 + -1) {\n      (piVar34->tm).name = piVar32->name;\n      piVar32 = (insn_template *)&piVar32->operands;\n      piVar34 = (i386_insn *)&(piVar34->tm).operands;\n    }\n    return t;\n  }\n  local_d8 = ~CODE_32BIT;\n  local_dc = 0;\n  goto LAB_0004bed8;\nLAB_0004bc61:\n  if (((((ulonglong)t->operand_types[uVar33] & 1) != 0) ||\n      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0)) &&\n     (((((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))) ||\n      ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))))))) goto LAB_0004c4e4;\n  if ((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x10) != 0) {\n    uVar21 = uVar33 ^ 1;\n    if ((((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))))) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0)))) goto LAB_0004c4e4;\n    if (((((ulonglong)t->operand_types[uVar21] & 4) == 0) ||\n        (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n       ((bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))))) {\n      if ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar26 = *(byte *)((int)i.types + uVar21 * 8 + 4);\n      if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }\n  if (uVar33 == 1) goto code_r0x0004be14;\n  uVar33 = 1;\n  goto LAB_0004bc61;\nLAB_0004c4e4:\n  i.error = operand_size_mismatch;\n  local_d8 = ~CODE_32BIT;\n  goto LAB_0004ba48;\ncode_r0x0004be14:\n  uVar33 = 0;\nLAB_0004c04c:\n  do {\n    uVar5 = *(undefined4 *)((int)t->operand_types + uVar33 * 8 + 4);\n    operand_types[uVar33].array[0] = t->operand_types[uVar33].array[0];\n    *(undefined4 *)((int)operand_types + uVar33 * 8 + 4) = uVar5;\n    uVar33 = uVar33 + 1;\n  } while (uVar33 != 5);\n  if (i.suffix == 'q') {\n    if (flag_code != CODE_64BIT) {\n      if (intel_syntax == 0) {\n        if ((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))\n        goto LAB_0004be5a;\n      }\n      else if ((-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))) {\nLAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = t->operands;\n  }\n  else {\n    if ((i.suffix != 'l') || ((cpu_arch_flags.array[0]._0_1_ & 4) != 0)) goto LAB_0004c390;\n    if (intel_syntax == 0) {\n      if ((*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2))\n      goto LAB_0004c390;\n    }\n    else if (((char)(t->opcode_modifier).field_0x1 < '\0') ||\n            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))))\n    goto LAB_0004c390;\n    if ((operand_types[0].array[0] & 6) == 0) goto LAB_0004bea5;\n    local_d4 = t->operands;\n    if ((((ulonglong)operand_types[1 < local_d4] & 2) == 0) &&\n       (((ulonglong)operand_types[1 < local_d4] & 4) == 0)) goto LAB_0004bea5;\n  }\nLAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = ~CODE_32BIT;\n    piVar22 = current_templates->end;\n    goto LAB_0004bec6;\n  }\n  local_d8 = ~CODE_32BIT;\n  if (i.prefix[2] != '\0') {\n    if (flag_code == CODE_16BIT) {\n      local_d8 = CODE_32BIT;\n      do {\n        if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + CODE_16BIT;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = flag_code;\n      if (flag_code == CODE_32BIT) {\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = ~CODE_32BIT;\n        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;\n        local_d8 = CODE_32BIT;\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = ~CODE_32BIT;\n  }\nLAB_0004c3ff:\n  if ((i.reloc[0] == BFD_RELOC_386_GOT32) && (t->base_opcode == 0xa0)) goto LAB_0004ba48;\n  bVar26 = (t->opcode_modifier).field_0x1;\n  local_d0 = 0;\n  if ((bVar26 & 0x40) != 0) {\n    local_d0 = (1 << ((undefined1)local_d4 & 0x1f)) - 1;\n    if (i.broadcast != (Broadcast_Operation *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)(i.broadcast)->operand & 0x1f));\n    }\n  }\n  uVar21 = i.types[0].array[0] & operand_types[0].array[0];\n  bVar19 = (byte)(uVar21 >> 0x10);\n  local_8c = (byte)(uVar21 >> 0x18);\n  bVar28 = (byte)((uint)i.types[0]._0_4_ >> 0x18);\n  bVar2 = (byte)((uint)i.types[1]._0_4_ >> 0x10);\n  bVar29 = (byte)((uint)i.types[1]._0_4_ >> 0x18);\n  local_c8 = (byte)i.types[0].array[1];\n  uVar33 = local_dc;\n  switch(local_d4) {\n  default:\n    goto _L2937;\n  case check_warning:\n    if (((uVar21 & 0x1dffffff) != 0 ||\n         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n       (((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0))\n    goto _L2937;\n    goto LAB_0004c880;\n  case check_error:\n    if (flag_code == CODE_64BIT) {\n      if ((((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)) &&\n         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))))\n      goto LAB_0004ba48;\n    }\n    else if (((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&\n            ((i.types[1].array[0] & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (i.dir_encoding != Cpu386) goto _L2938;\n    bVar4 = *(byte *)&t->opcode_modifier;\n    if ((bVar4 & 1) == 0) goto LAB_0004c538;\n    goto LAB_0004c7fc;\n  case check_error|check_warning:\n    break;\n  case 4:\n  case 5:\n    goto _L2938;\n  }\n  if (i.dir_encoding == Cpu386) {\nLAB_0004c538:\n    if ((i.mem_operands == 0) &&\n       ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=\n        (undefined1  [12])0x0)) goto LAB_0004ba48;\n  }\n_L2938:\n  if (((uVar21 & 0x1dffffff) != 0 ||\n       (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n     (((((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))) &&\n         ((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))))) {\n        i.error = register_type_mismatch;\n        goto LAB_0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\nLAB_0004d03b:\n      local_98 = i.types[3].array[1] & operand_types[3].array[1];\n      local_a4 = i.types[3].array[0] & operand_types[3].array[0];\nLAB_0004d05d:\n      local_9c = i.types[2].array[1] & operand_types[2].array[1];\n      local_a0 = operand_types[2].array[0] & i.types[2].array[0];\n    }\n    else {\n      if (local_d4 == 5) {\n        local_94 = i.types[4].array[1] & operand_types[4].array[1];\n        local_90 = i.types[4].array[0] & operand_types[4].array[0];\n        goto LAB_0004d03b;\n      }\n      if (local_d4 == 3) goto LAB_0004d05d;\n    }\n    if (local_d4 == 4) {\nLAB_0004d3b2:\n      if (((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)) {\n        uVar21 = i.types[3].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);\n        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto _L2937;\nLAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }\n    }\nLAB_0004c880:\n    i.error = operand_type_mismatch;\n    goto LAB_0004ba48;\n  }\n  i.error = operand_type_mismatch;\nLAB_0004c7ec:\n  bVar4 = *(byte *)&t->opcode_modifier;\n  if ((bVar4 & 1) == 0) goto LAB_0004ba48;\nLAB_0004c7fc:\n  uVar33 = i.types[0].array[0] & operand_types[1].array[0];\n  if (((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00) == 0 &&\n      (i.types[0].array[1] & operand_types[1].array[1] & 0x80) == 0)) goto LAB_0004c880;\n  local_c0 = (byte)(uVar33 >> 0x18);\n  if ((((((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||\n        ((bVar28 ^ local_c0) & 2) != 0) ||\n      (uVar33 = operand_types[0].array[0] & i.types[1].array[0],\n      ((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar33 >> 0x18),\n     (((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40) != 0 || ((bVar29 ^ local_c0) & 2) != 0))\n  goto LAB_0004c880;\n  if (local_d0 != 0) {\n    if (((((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))) &&\n        (((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))))) &&\n       ((((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))\n        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )))))) {\n      i.error = register_type_mismatch;\n      goto LAB_0004ba48;\n    }\n  }\n  local_dc = 0;\n  if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02) + 0x400;\n  }\n  uVar33 = local_dc | 8;\n  if ((bVar26 & 4) == 0) {\n    uVar33 = local_dc;\n  }\n_L2937:\n  local_dc = uVar33;\n  if (((((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0)) ||\n       (((t->cpu_flags).array[1] & DAT_0006537c) != 0)) ||\n      (((t->cpu_flags).array[0] & avx512_15705) != 0)) &&\n     ((((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0 &&\n      (t->operands != 0)))) {\n    uVar33 = 0;\n    do {\n      if (((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0) &&\n         ((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)))) goto LAB_0004cc2a;\n      uVar33 = uVar33 + 1;\n    } while (t->operands != uVar33);\n  }\n  bVar26 = (t->opcode_modifier).field_0x6;\n  bVar19 = bVar26 & 0x30;\n  if ((bVar26 & 0x30) == 0) {\n    if ((i.index_reg != (reg_entry *)0x0) &&\n       (((ulonglong)(i.index_reg)->reg_type & 0x3800000000) != 0)) {\n      i.error = unsupported_vector_index_register;\n      local_e0 = unsupported_vector_index_register;\n      goto LAB_0004ba48;\n    }\n    if (((t->opcode_modifier).field_0x8 & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }\n  if (((t->opcode_modifier).field_0x8 & 8) != 0) {\nLAB_0004c6f7:\n    if ((i.mask == (Mask_Operation *)0x0) || ((i.mask)->mask->reg_num == '\0')) {\n      i.error = no_default_mask;\n      local_e0 = no_default_mask;\n      goto LAB_0004ba48;\n    }\n    if (bVar19 == 0) goto LAB_0004c71a;\n  }\n  if (i.index_reg != (reg_entry *)0x0) {\n    if (bVar19 == 0x10) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 8;\n    }\n    else if (bVar19 == 0x20) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10;\n    }\n    else {\n      if (bVar19 != 0x30) goto LAB_0004cef0;\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;\n    }\n    if (bVar26 != 0) {\n      if (i.reg_operands == 2) {\n        if (i.mask != (Mask_Operation *)0x0) goto LAB_0004c71a;\n        if ((i.types[0].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");\n        }\n        if ((i.types[0].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");\n        }\n        if ((i.types[2].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");\n        }\n        if ((i.types[2].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");\n        }\n        if (operand_check != check_none) {\n          cVar27 = (check_kind)(i.op[0].regs)->reg_num;\n          if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }\n          if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }\n          bVar26 = (i.index_reg)->reg_flags;\n          cVar25 = (check_kind)bVar26;\n          local_d4 = (check_kind)(i.index_reg)->reg_num;\n          if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }\n          if (operand_check == check_error) goto LAB_0004ddd8;\n          pcVar24 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (i.mask == (Mask_Operation *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }\n        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)) {\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }\nLAB_0004c71a:\n        uVar33 = i.operands;\n        bVar26 = (t->opcode_modifier).field_0x7;\n        if (i.broadcast != (Broadcast_Operation *)0x0) {\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }\n        if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }\n        if (i.rounding != (RC_Operation *)0x0) {\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }\n        bVar26 = (t->opcode_modifier).field_0x8;\n        i.memshift = bVar26 & 7;\n        if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }\n        i.memshift = 0;\n      }\nLAB_0004d657:\n      if (i.vec_encoding == Cpu486) {\n        if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;\n      }\n      else {\n        if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }\n        if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      i.error = unsupported;\n      local_e0 = unsupported;\n      goto LAB_0004ba48;\n    }\n  }\nLAB_0004cef0:\n  i.error = invalid_vsib_address;\n  local_e0 = invalid_vsib_address;\nLAB_0004ba48:\n  piVar22 = current_templates->end;\n  piVar32 = t + 1;\n  if (piVar22 <= t + 1) goto LAB_0004bec0;\n  goto LAB_0004ba5c;\nLAB_0004bec0:\n  t = t + 1;\nLAB_0004bec6:\n  if (piVar22 == t) {\n    if (local_e0 == operand_size_mismatch) {\n      local_e0 = i.error;\n    }\n    switch(local_e0) {\n    case operand_size_mismatch:\n      pcVar24 = "operand size mismatch";\n      break;\n    case operand_type_mismatch:\n      pcVar24 = "operand type mismatch";\n      break;\n    case register_type_mismatch:\n      pcVar24 = "register type mismatch";\n      break;\n    case number_of_operands_mismatch:\n      goto _L3098;\n    case invalid_instruction_suffix:\n      pcVar24 = "invalid instruction suffix";\n      break;\n    case bad_imm4:\n      pcVar24 = "constant doesn\'t fit in 4 bits";\n      break;\n    case unsupported_with_intel_mnemonic:\n      pcVar24 = "unsupported with Intel mnemonic";\n      break;\n    case unsupported_syntax:\n      pcVar24 = "unsupported syntax";\n      break;\n    case unsupported:\n      pcVar23 = current_templates->start->name;\n      pcVar24 = (char *)0x5;\n      format = (char *)dcgettext(0,"unsupported instruction `%s\'",5);\n      goto LAB_0004ca4e;\n    case invalid_vsib_address:\n      pcVar24 = "invalid VSIB address";\n      break;\n    case invalid_vector_register_set:\n      pcVar24 = "mask, index, and destination registers must be distinct";\n      break;\n    case unsupported_vector_index_register:\n      pcVar24 = "unsupported vector index register";\n      break;\n    case unsupported_broadcast:\n      pcVar24 = "unsupported broadcast";\n      break;\n    case broadcast_not_on_src_operand:\n      pcVar24 = "broadcast not on source memory operand";\n      break;\n    case broadcast_needed:\n      pcVar24 = "broadcast is needed for operand of such type";\n      break;\n    case unsupported_masking:\n      pcVar24 = "unsupported masking";\n      break;\n    case mask_not_on_destination:\n      pcVar24 = "mask not on destination operand";\n      break;\n    case no_default_mask:\n      pcVar24 = "default mask isn\'t allowed";\n      break;\n    case unsupported_rc_sae:\n      pcVar24 = "unsupported static rounding/sae";\n      break;\n    case rc_sae_operand_not_last_imm:\n      if (intel_syntax == 0) {\n        pcVar24 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case invalid_register_operand:\n      pcVar24 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x160d,"match_template");\n    }\nLAB_0004ca20:\n    pcVar23 = (char *)dcgettext(0,pcVar24,5);\n    pcVar24 = current_templates->start->name;\n    format = (char *)dcgettext(0,"%s for `%s\'",5);\nLAB_0004ca4e:\n    as_bad(format,pcVar23,pcVar24);\n    return (insn_template *)0x0;\n  }\n  if (quiet_warnings != 0) goto LAB_0004bf2b;\nLAB_0004bed8:\n  if (intel_syntax == 0) {\n    if (((byte)i.types[0].array[0]._3_1_ >> 1 & 1) != ((byte)operand_types[0]._3_1_ >> 1 & 1)) {\n      pcVar24 = t->name;\n      pcVar23 = (char *)dcgettext(0,"indirect %s without `*\'",5);\n      as_warn(pcVar23,pcVar24);\n    }\n  }\n  if ((((t->opcode_modifier).field_0x4 & 0x10) != 0) &&\n     ((char)(t->opcode_modifier).field_0x1 < '\0')) {\n    pcVar24 = t->name;\n    pcVar23 = (char *)dcgettext(0,"stand-alone `%s\' prefix",5);\n    as_warn(pcVar23,pcVar24);\n  }\nLAB_0004bf2b:\n  piVar32 = t;\n  piVar34 = &i;\n  for (iVar20 = 0x16; iVar20 != 0; iVar20 = iVar20 + -1) {\n    (piVar34->tm).name = piVar32->name;\n    piVar32 = (insn_template *)((int)piVar32 + (uint)bVar36 * -8 + 4);\n    piVar34 = (i386_insn *)((int)piVar34 + ((uint)bVar36 * -2 + 1) * 4);\n  }\n  if (local_d8 != ~CODE_32BIT) {\n    uVar5 = *(undefined4 *)((int)operand_types + local_d8 * 8 + 4);\n    i.tm.operand_types[local_d8].array[0] = operand_types[local_d8].array[0];\n    *(undefined4 *)((int)i.tm.operand_types + local_d8 * 8 + 4) = uVar5;\n  }\n  if (local_dc != 0) {\n    i.tm.base_opcode = i.tm.base_opcode ^ local_dc;\n    i.tm.operand_types[0].array[1] = operand_types[1].array[1];\n    i.tm.operand_types[0].array[0] = operand_types[1].array[0];\n    i.tm.operand_types[1].array[1] = operand_types[0].array[1];\n    i.tm.operand_types[1].array[0] = operand_types[0].array[0];\n  }\n  return t;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "expressionS *peVar6;" type_identifier (pointer_declarator "*peVar6" * identifier) ;) (declaration "i386_operand_type g0;" type_identifier identifier ;) (declaration "i386_operand_type g0_00;" type_identifier identifier ;) (declaration "i386_operand_type g0_01;" type_identifier identifier ;) (declaration "i386_operand_type g0_02;" type_identifier identifier ;) (declaration "i386_operand_type g0_03;" type_identifier identifier ;) (declaration "i386_operand_type g1;" type_identifier identifier ;) (declaration "i386_operand_type g1_00;" type_identifier identifier ;) (declaration "i386_operand_type g1_01;" type_identifier identifier ;) (declaration "i386_operand_type g1_02;" type_identifier identifier ;) (declaration "i386_operand_type g1_03;" type_identifier identifier ;) (declaration "i386_operand_type t1;" type_identifier identifier ;) (declaration "i386_operand_type t1_00;" type_identifier identifier ;) (declaration "i386_operand_type t1_01;" type_identifier identifier ;) (declaration "i386_operand_type t1_02;" type_identifier identifier ;) (declaration "i386_operand_type t1_03;" type_identifier identifier ;) (declaration "i386_operand_type t0;" type_identifier identifier ;) (declaration "i386_operand_type t0_00;" type_identifier identifier ;) (declaration "i386_operand_type t0_01;" type_identifier identifier ;) (declaration "i386_operand_type t0_02;" type_identifier identifier ;) (declaration "i386_operand_type t0_03;" type_identifier identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "insn_template *piVar22;" type_identifier (pointer_declarator "*piVar22" * identifier) ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "char *pcVar24;" primitive_type (pointer_declarator "*pcVar24" * identifier) ;) (declaration "check_kind cVar25;" type_identifier identifier ;) (declaration "byte bVar26;" type_identifier identifier ;) (declaration "check_kind cVar27;" type_identifier identifier ;) (declaration "uint extraout_ECX;" type_identifier identifier ;) (declaration "uint extraout_ECX_00;" type_identifier identifier ;) (declaration "byte bVar28;" type_identifier identifier ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "uint uVar31;" type_identifier identifier ;) (declaration "insn_template *t;" type_identifier (pointer_declarator "*t" * identifier) ;) (declaration "insn_template *piVar32;" type_identifier (pointer_declarator "*piVar32" * identifier) ;) (declaration "uint uVar33;" type_identifier identifier ;) (declaration "i386_insn *piVar34;" type_identifier (pointer_declarator "*piVar34" * identifier) ;) (declaration "uint uVar35;" type_identifier identifier ;) (declaration "byte bVar36;" type_identifier identifier ;) (declaration "i386_error local_e0;" type_identifier identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "flag_code local_d8;" type_identifier identifier ;) (declaration "check_kind local_d4;" type_identifier identifier ;) (declaration "uint local_d0;" type_identifier identifier ;) (declaration "byte local_c8;" type_identifier identifier ;) (declaration "byte local_c0;" type_identifier identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "uint local_98;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "uint local_90;" type_identifier identifier ;) (declaration "byte local_8c;" type_identifier identifier ;) (declaration "i386_opcode_modifier suffix_check;" type_identifier identifier ;) (declaration "i386_opcode_modifier mnemsuf_check;" type_identifier identifier ;) (declaration "i386_operand_type operand_types [5];" type_identifier (array_declarator "operand_types [5]" identifier [ number_literal ]) ;) (declaration "byte bVar29;" type_identifier identifier ;) (expression_statement "uVar18 = acc32.array[0];" (assignment_expression "uVar18 = acc32.array[0]" identifier = (subscript_expression "acc32.array[0]" (field_expression "acc32.array" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "bVar36 = 0;" (assignment_expression "bVar36 = 0" identifier = number_literal) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (if_statement "if ((intel_syntax == 0) || (i.broadcast == (Broadcast_Operation *)0x0)) {\n    if (i.suffix == 'b') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n    }\n    else if (i.suffix == 'w') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n    }\n    else if (i.suffix == 's') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    bVar17 = false;\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    if (intel_syntax != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar17 = false;\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    switch(mnem_suffix) {\n    case 'b':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      break;\n    case 'l':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'q':\n      bVar17 = true;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 's':\n      bVar17 = false;\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'w':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n    }\n  }" if (parenthesized_expression "((intel_syntax == 0) || (i.broadcast == (Broadcast_Operation *)0x0))" ( (binary_expression "(intel_syntax == 0) || (i.broadcast == (Broadcast_Operation *)0x0)" (parenthesized_expression "(intel_syntax == 0)" ( (binary_expression "intel_syntax == 0" identifier == number_literal) )) || (parenthesized_expression "(i.broadcast == (Broadcast_Operation *)0x0)" ( (binary_expression "i.broadcast == (Broadcast_Operation *)0x0" (field_expression "i.broadcast" identifier . field_identifier) == (cast_expression "(Broadcast_Operation *)0x0" ( (type_descriptor "Broadcast_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    if (i.suffix == 'b') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n    }\n    else if (i.suffix == 'w') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n    }\n    else if (i.suffix == 's') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    bVar17 = false;\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    if (intel_syntax != 0) goto LAB_0004b97b;\n  }" { (if_statement "if (i.suffix == 'b') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n    }\n    else if (i.suffix == 'w') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n    }\n    else if (i.suffix == 's') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" if (parenthesized_expression "(i.suffix == 'b')" ( (binary_expression "i.suffix == 'b'" (field_expression "i.suffix" identifier . field_identifier) == (char_literal "'b'" ' character ')) )) (compound_statement "{\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n    }" { (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) }) (else_clause "else if (i.suffix == 'w') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n    }\n    else if (i.suffix == 's') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" else (if_statement "if (i.suffix == 'w') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n    }\n    else if (i.suffix == 's') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" if (parenthesized_expression "(i.suffix == 'w')" ( (binary_expression "i.suffix == 'w'" (field_expression "i.suffix" identifier . field_identifier) == (char_literal "'w'" ' character ')) )) (compound_statement "{\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n    }" { (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" identifier = true) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) }) (else_clause "else if (i.suffix == 's') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" else (if_statement "if (i.suffix == 's') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" if (parenthesized_expression "(i.suffix == 's')" ( (binary_expression "i.suffix == 's'" (field_expression "i.suffix" identifier . field_identifier) == (char_literal "'s'" ' character ')) )) (compound_statement "{\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" { (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = true;" (assignment_expression "bVar10 = true" identifier = true) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) }) (else_clause "else if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" else (if_statement "if (i.suffix == 'l') {\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" if (parenthesized_expression "(i.suffix == 'l')" ( (binary_expression "i.suffix == 'l'" (field_expression "i.suffix" identifier . field_identifier) == (char_literal "'l'" ' character ')) )) (compound_statement "{\n      bVar12 = false;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n    }" { (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" identifier = true) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) }) (else_clause "else if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" else (if_statement "if (i.suffix == 'q') {\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }\n    else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" if (parenthesized_expression "(i.suffix == 'q')" ( (binary_expression "i.suffix == 'q'" (field_expression "i.suffix" identifier . field_identifier) == (char_literal "'q'" ' character ')) )) (compound_statement "{\n      bVar12 = false;\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" { (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (expression_statement "bVar11 = true;" (assignment_expression "bVar11 = true" identifier = true) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) }) (else_clause "else if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" else (if_statement "if (i.suffix == '\x01') {\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" if (parenthesized_expression "(i.suffix == '\x01')" ( (binary_expression "i.suffix == '\x01'" (field_expression "i.suffix" identifier . field_identifier) == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n      bVar12 = true;\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n    }" { (expression_statement "bVar12 = true;" (assignment_expression "bVar12 = true" identifier = true) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) })))))))))))) (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (if_statement "if (intel_syntax != 0) goto LAB_0004b97b;" if (parenthesized_expression "(intel_syntax != 0)" ( (binary_expression "intel_syntax != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004b97b;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0004b97b:\n    bVar17 = false;\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    switch(mnem_suffix) {\n    case 'b':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      break;\n    case 'l':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'q':\n      bVar17 = true;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 's':\n      bVar17 = false;\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'w':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n    }\n  }" else (compound_statement "{\nLAB_0004b97b:\n    bVar17 = false;\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    switch(mnem_suffix) {\n    case 'b':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      break;\n    case 'l':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'q':\n      bVar17 = true;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 's':\n      bVar17 = false;\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'w':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n    }\n  }" { (labeled_statement "LAB_0004b97b:\n    bVar17 = false;" statement_identifier : (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;)) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (switch_statement "switch(mnem_suffix) {\n    case 'b':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      break;\n    case 'l':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'q':\n      bVar17 = true;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 's':\n      bVar17 = false;\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'w':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n    }" switch (parenthesized_expression "(mnem_suffix)" ( identifier )) (compound_statement "{\n    case 'b':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      break;\n    case 'l':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'q':\n      bVar17 = true;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 's':\n      bVar17 = false;\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;\n    case 'w':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n    }" { (case_statement "case 'b':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      break;" case (char_literal "'b'" ' character ') : (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (break_statement "break;" break ;)) (case_statement "case 'l':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      break;" case (char_literal "'l'" ' character ') : (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = true;" (assignment_expression "bVar15 = true" identifier = true) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (break_statement "break;" break ;)) (case_statement "case 'q':\n      bVar17 = true;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;" case (char_literal "'q'" ' character ') : (expression_statement "bVar17 = true;" (assignment_expression "bVar17 = true" identifier = true) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (break_statement "break;" break ;)) (case_statement "case 's':\n      bVar17 = false;\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      break;" case (char_literal "'s'" ' character ') : (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "bVar16 = true;" (assignment_expression "bVar16 = true" identifier = true) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (break_statement "break;" break ;)) (case_statement "case 'w':\n      bVar17 = false;\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;" case (char_literal "'w'" ' character ') : (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = true;" (assignment_expression "bVar14 = true" identifier = true) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;)) })) }))) (expression_statement "i.error = number_of_operands_mismatch;" (assignment_expression "i.error = number_of_operands_mismatch" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (expression_statement "t = current_templates->start;" (assignment_expression "t = current_templates->start" identifier = (field_expression "current_templates->start" identifier -> field_identifier)) ;) (if_statement "if (t < current_templates->end) {\n    local_e0 = operand_size_mismatch;\n    local_dc = 0;\n    piVar32 = t;\nLAB_0004ba5c:\n    t = piVar32;\n    local_d8 = ~CODE_32BIT;\n    if (i.operands != t->operands) goto LAB_0004ba48;\n    i.error = unsupported;\n    iVar20 = cpu_flags_match(t);\n    if ((iVar20 != 3) ||\n       ((i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0)))) goto LAB_0004ba48;\n    i.error = unsupported_syntax;\n    if (intel_syntax == 0) {\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if ((bVar26 & 1) != 0) goto LAB_0004bea5;\n      if (intel64 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar26 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      i.error = invalid_instruction_suffix;\n      bVar26 = (t->opcode_modifier).field_0x2;\n      if ((((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))) ||\n         ((((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))))))\n      goto LAB_0004bea5;\n      if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0) ==\n          (undefined1  [12])0x0) {\n        uVar33 = i.operands;\n        if (i.operands != 0) {\n          uVar33 = 0;\n          do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);\n          uVar33 = 0;\n        }\n      }\n      else {\n        uVar33 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < (char)(t->opcode_modifier).field_0x8) {\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if (intel64 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar26 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }" if (parenthesized_expression "(t < current_templates->end)" ( (binary_expression "t < current_templates->end" identifier < (field_expression "current_templates->end" identifier -> field_identifier)) )) (compound_statement "{\n    local_e0 = operand_size_mismatch;\n    local_dc = 0;\n    piVar32 = t;\nLAB_0004ba5c:\n    t = piVar32;\n    local_d8 = ~CODE_32BIT;\n    if (i.operands != t->operands) goto LAB_0004ba48;\n    i.error = unsupported;\n    iVar20 = cpu_flags_match(t);\n    if ((iVar20 != 3) ||\n       ((i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0)))) goto LAB_0004ba48;\n    i.error = unsupported_syntax;\n    if (intel_syntax == 0) {\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if ((bVar26 & 1) != 0) goto LAB_0004bea5;\n      if (intel64 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar26 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      i.error = invalid_instruction_suffix;\n      bVar26 = (t->opcode_modifier).field_0x2;\n      if ((((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))) ||\n         ((((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))))))\n      goto LAB_0004bea5;\n      if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0) ==\n          (undefined1  [12])0x0) {\n        uVar33 = i.operands;\n        if (i.operands != 0) {\n          uVar33 = 0;\n          do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);\n          uVar33 = 0;\n        }\n      }\n      else {\n        uVar33 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < (char)(t->opcode_modifier).field_0x8) {\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if (intel64 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar26 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }" { (expression_statement "local_e0 = operand_size_mismatch;" (assignment_expression "local_e0 = operand_size_mismatch" identifier = identifier) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (expression_statement "piVar32 = t;" (assignment_expression "piVar32 = t" identifier = identifier) ;) (labeled_statement "LAB_0004ba5c:\n    t = piVar32;" statement_identifier : (expression_statement "t = piVar32;" (assignment_expression "t = piVar32" identifier = identifier) ;)) (expression_statement "local_d8 = ~CODE_32BIT;" (assignment_expression "local_d8 = ~CODE_32BIT" identifier = (unary_expression "~CODE_32BIT" ~ identifier)) ;) (if_statement "if (i.operands != t->operands) goto LAB_0004ba48;" if (parenthesized_expression "(i.operands != t->operands)" ( (binary_expression "i.operands != t->operands" (field_expression "i.operands" identifier . field_identifier) != (field_expression "t->operands" identifier -> field_identifier)) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (expression_statement "i.error = unsupported;" (assignment_expression "i.error = unsupported" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (expression_statement "iVar20 = cpu_flags_match(t);" (assignment_expression "iVar20 = cpu_flags_match(t)" identifier = (call_expression "cpu_flags_match(t)" identifier (argument_list "(t)" ( identifier )))) ;) (if_statement "if ((iVar20 != 3) ||\n       ((i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0)))) goto LAB_0004ba48;" if (parenthesized_expression "((iVar20 != 3) ||\n       ((i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0))))" ( (binary_expression "(iVar20 != 3) ||\n       ((i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0)))" (parenthesized_expression "(iVar20 != 3)" ( (binary_expression "iVar20 != 3" identifier != number_literal) )) || (parenthesized_expression "((i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0)))" ( (parenthesized_expression "(i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0))" ( (comma_expression "i.error = unsupported_with_intel_mnemonic, intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0)" (assignment_expression "i.error = unsupported_with_intel_mnemonic" (field_expression "i.error" identifier . field_identifier) = identifier) , (binary_expression "intel_mnemonic != 0 &&\n        (((t->opcode_modifier).field_0x8 & 0x40) != 0)" (binary_expression "intel_mnemonic != 0" identifier != number_literal) && (parenthesized_expression "(((t->opcode_modifier).field_0x8 & 0x40) != 0)" ( (binary_expression "((t->opcode_modifier).field_0x8 & 0x40) != 0" (parenthesized_expression "((t->opcode_modifier).field_0x8 & 0x40)" ( (binary_expression "(t->opcode_modifier).field_0x8 & 0x40" (field_expression "(t->opcode_modifier).field_0x8" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (expression_statement "i.error = unsupported_syntax;" (assignment_expression "i.error = unsupported_syntax" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (if_statement "if (intel_syntax == 0) {\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if ((bVar26 & 1) != 0) goto LAB_0004bea5;\n      if (intel64 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar26 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      i.error = invalid_instruction_suffix;\n      bVar26 = (t->opcode_modifier).field_0x2;\n      if ((((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))) ||\n         ((((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))))))\n      goto LAB_0004bea5;\n      if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0) ==\n          (undefined1  [12])0x0) {\n        uVar33 = i.operands;\n        if (i.operands != 0) {\n          uVar33 = 0;\n          do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);\n          uVar33 = 0;\n        }\n      }\n      else {\n        uVar33 = 0;\n      }\n      goto LAB_0004c04c;\n    }" if (parenthesized_expression "(intel_syntax == 0)" ( (binary_expression "intel_syntax == 0" identifier == number_literal) )) (compound_statement "{\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if ((bVar26 & 1) != 0) goto LAB_0004bea5;\n      if (intel64 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar26 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      i.error = invalid_instruction_suffix;\n      bVar26 = (t->opcode_modifier).field_0x2;\n      if ((((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))) ||\n         ((((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))))))\n      goto LAB_0004bea5;\n      if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0) ==\n          (undefined1  [12])0x0) {\n        uVar33 = i.operands;\n        if (i.operands != 0) {\n          uVar33 = 0;\n          do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);\n          uVar33 = 0;\n        }\n      }\n      else {\n        uVar33 = 0;\n      }\n      goto LAB_0004c04c;\n    }" { (expression_statement "bVar26 = (t->opcode_modifier).field_0x9;" (assignment_expression "bVar26 = (t->opcode_modifier).field_0x9" identifier = (field_expression "(t->opcode_modifier).field_0x9" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((bVar26 & 1) != 0) goto LAB_0004bea5;" if (parenthesized_expression "((bVar26 & 1) != 0)" ( (binary_expression "(bVar26 & 1) != 0" (parenthesized_expression "(bVar26 & 1)" ( (binary_expression "bVar26 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) (if_statement "if (intel64 != 0) goto LAB_0004bfcc;" if (parenthesized_expression "(intel64 != 0)" ( (binary_expression "intel64 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004bfcc;" goto statement_identifier ;)) (labeled_statement "LAB_0004bacf:\n      if ((bVar26 & 4) != 0) goto LAB_0004bea5;" statement_identifier : (if_statement "if ((bVar26 & 4) != 0) goto LAB_0004bea5;" if (parenthesized_expression "((bVar26 & 4) != 0)" ( (binary_expression "(bVar26 & 4) != 0" (parenthesized_expression "(bVar26 & 4)" ( (binary_expression "bVar26 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;))) (labeled_statement "LAB_0004bad7:\n      i.error = invalid_instruction_suffix;" statement_identifier : (expression_statement "i.error = invalid_instruction_suffix;" (assignment_expression "i.error = invalid_instruction_suffix" (field_expression "i.error" identifier . field_identifier) = identifier) ;)) (expression_statement "bVar26 = (t->opcode_modifier).field_0x2;" (assignment_expression "bVar26 = (t->opcode_modifier).field_0x2" identifier = (field_expression "(t->opcode_modifier).field_0x2" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))) ||\n         ((((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))))))\n      goto LAB_0004bea5;" if (parenthesized_expression "((((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))) ||\n         ((((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))))))" ( (binary_expression "(((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))) ||\n         ((((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17)))))))))" (parenthesized_expression "(((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12))))))))" ( (binary_expression "((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)) &&\n          ((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))" (parenthesized_expression "((intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1))" ( (binary_expression "(intel_syntax == 0) || (-1 < (char)(t->opcode_modifier).field_0x1)" (parenthesized_expression "(intel_syntax == 0)" ( (binary_expression "intel_syntax == 0" identifier == number_literal) )) || (parenthesized_expression "(-1 < (char)(t->opcode_modifier).field_0x1)" ( (binary_expression "-1 < (char)(t->opcode_modifier).field_0x1" number_literal < (cast_expression "(char)(t->opcode_modifier).field_0x1" ( (type_descriptor "char" primitive_type) ) (field_expression "(t->opcode_modifier).field_0x1" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier))) ))) )) && (parenthesized_expression "((((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))))" ( (parenthesized_expression "(((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12))))))" ( (binary_expression "((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))) ||\n           (((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))" (parenthesized_expression "((((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9))))" ( (binary_expression "(((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))) ||\n            (((bVar26 & 8) != 0 && (bVar9)))" (parenthesized_expression "(((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8))))" ( (binary_expression "((bVar26 & 2) != 0 && (bVar7)) || (((bVar26 & 4) != 0 && (bVar8)))" (parenthesized_expression "((bVar26 & 2) != 0 && (bVar7))" ( (binary_expression "(bVar26 & 2) != 0 && (bVar7)" (binary_expression "(bVar26 & 2) != 0" (parenthesized_expression "(bVar26 & 2)" ( (binary_expression "bVar26 & 2" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar7)" ( identifier ))) )) || (parenthesized_expression "(((bVar26 & 4) != 0 && (bVar8)))" ( (parenthesized_expression "((bVar26 & 4) != 0 && (bVar8))" ( (binary_expression "(bVar26 & 4) != 0 && (bVar8)" (binary_expression "(bVar26 & 4) != 0" (parenthesized_expression "(bVar26 & 4)" ( (binary_expression "bVar26 & 4" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar8)" ( identifier ))) )) ))) )) || (parenthesized_expression "(((bVar26 & 8) != 0 && (bVar9)))" ( (parenthesized_expression "((bVar26 & 8) != 0 && (bVar9))" ( (binary_expression "(bVar26 & 8) != 0 && (bVar9)" (binary_expression "(bVar26 & 8) != 0" (parenthesized_expression "(bVar26 & 8)" ( (binary_expression "bVar26 & 8" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar9)" ( identifier ))) )) ))) )) || (parenthesized_expression "(((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))))" ( (parenthesized_expression "((((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12))))" ( (binary_expression "(((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))) ||\n            (((bVar26 & 0x40) != 0 && (bVar12)))" (parenthesized_expression "(((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11))))" ( (binary_expression "((bVar26 & 0x10) != 0 && (bVar10)) || (((bVar26 & 0x20) != 0 && (bVar11)))" (parenthesized_expression "((bVar26 & 0x10) != 0 && (bVar10))" ( (binary_expression "(bVar26 & 0x10) != 0 && (bVar10)" (binary_expression "(bVar26 & 0x10) != 0" (parenthesized_expression "(bVar26 & 0x10)" ( (binary_expression "bVar26 & 0x10" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar10)" ( identifier ))) )) || (parenthesized_expression "(((bVar26 & 0x20) != 0 && (bVar11)))" ( (parenthesized_expression "((bVar26 & 0x20) != 0 && (bVar11))" ( (binary_expression "(bVar26 & 0x20) != 0 && (bVar11)" (binary_expression "(bVar26 & 0x20) != 0" (parenthesized_expression "(bVar26 & 0x20)" ( (binary_expression "bVar26 & 0x20" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar11)" ( identifier ))) )) ))) )) || (parenthesized_expression "(((bVar26 & 0x40) != 0 && (bVar12)))" ( (parenthesized_expression "((bVar26 & 0x40) != 0 && (bVar12))" ( (binary_expression "(bVar26 & 0x40) != 0 && (bVar12)" (binary_expression "(bVar26 & 0x40) != 0" (parenthesized_expression "(bVar26 & 0x40)" ( (binary_expression "bVar26 & 0x40" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar12)" ( identifier ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "((((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17)))))))))" ( (parenthesized_expression "(((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))))" ( (binary_expression "((bVar26 & 2) != 0 && (bVar13)) ||\n          (((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17)))))))" (parenthesized_expression "((bVar26 & 2) != 0 && (bVar13))" ( (binary_expression "(bVar26 & 2) != 0 && (bVar13)" (binary_expression "(bVar26 & 2) != 0" (parenthesized_expression "(bVar26 & 2)" ( (binary_expression "bVar26 & 2" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar13)" ( identifier ))) )) || (parenthesized_expression "(((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17)))))))" ( (parenthesized_expression "((((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))))" ( (binary_expression "(((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))) ||\n           ((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17)))))" (parenthesized_expression "(((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15))))" ( (binary_expression "((bVar26 & 4) != 0 && (bVar14)) || (((bVar26 & 8) != 0 && (bVar15)))" (parenthesized_expression "((bVar26 & 4) != 0 && (bVar14))" ( (binary_expression "(bVar26 & 4) != 0 && (bVar14)" (binary_expression "(bVar26 & 4) != 0" (parenthesized_expression "(bVar26 & 4)" ( (binary_expression "bVar26 & 4" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar14)" ( identifier ))) )) || (parenthesized_expression "(((bVar26 & 8) != 0 && (bVar15)))" ( (parenthesized_expression "((bVar26 & 8) != 0 && (bVar15))" ( (binary_expression "(bVar26 & 8) != 0 && (bVar15)" (binary_expression "(bVar26 & 8) != 0" (parenthesized_expression "(bVar26 & 8)" ( (binary_expression "bVar26 & 8" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar15)" ( identifier ))) )) ))) )) || (parenthesized_expression "((((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17)))))" ( (parenthesized_expression "(((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17))))" ( (binary_expression "((bVar26 & 0x10) != 0 && (bVar16)) || (((bVar26 & 0x20) != 0 && (bVar17)))" (parenthesized_expression "((bVar26 & 0x10) != 0 && (bVar16))" ( (binary_expression "(bVar26 & 0x10) != 0 && (bVar16)" (binary_expression "(bVar26 & 0x10) != 0" (parenthesized_expression "(bVar26 & 0x10)" ( (binary_expression "bVar26 & 0x10" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar16)" ( identifier ))) )) || (parenthesized_expression "(((bVar26 & 0x20) != 0 && (bVar17)))" ( (parenthesized_expression "((bVar26 & 0x20) != 0 && (bVar17))" ( (binary_expression "(bVar26 & 0x20) != 0 && (bVar17)" (binary_expression "(bVar26 & 0x20) != 0" (parenthesized_expression "(bVar26 & 0x20)" ( (binary_expression "bVar26 & 0x20" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar17)" ( identifier ))) )) ))) )) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) (if_statement "if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0) ==\n          (undefined1  [12])0x0) {\n        uVar33 = i.operands;\n        if (i.operands != 0) {\n          uVar33 = 0;\n          do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);\n          uVar33 = 0;\n        }\n      }\n      else {\n        uVar33 = 0;\n      }" if (parenthesized_expression "((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0) ==\n          (undefined1  [12])0x0)" ( (binary_expression "(undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0) ==\n          (undefined1  [12])0x0" (call_expression "(undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0)" (parenthesized_expression "(undefined1  [12])" ( (subscript_expression "undefined1  [12]" identifier [ number_literal ]) )) (argument_list "((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0)" ( (binary_expression "(undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1e0" (cast_expression "(undefined1  [12])t->opcode_modifier" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) (field_expression "t->opcode_modifier" identifier -> field_identifier)) & (cast_expression "(undefined1  [12])0x1e0" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [12])0x0" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n        uVar33 = i.operands;\n        if (i.operands != 0) {\n          uVar33 = 0;\n          do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);\n          uVar33 = 0;\n        }\n      }" { (expression_statement "uVar33 = i.operands;" (assignment_expression "uVar33 = i.operands" identifier = (field_expression "i.operands" identifier . field_identifier)) ;) (if_statement "if (i.operands != 0) {\n          uVar33 = 0;\n          do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);\n          uVar33 = 0;\n        }" if (parenthesized_expression "(i.operands != 0)" ( (binary_expression "i.operands != 0" (field_expression "i.operands" identifier . field_identifier) != number_literal) )) (compound_statement "{\n          uVar33 = 0;\n          do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);\n          uVar33 = 0;\n        }" { (expression_statement "uVar33 = 0;" (assignment_expression "uVar33 = 0" identifier = number_literal) ;) (do_statement "do {\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          } while (uVar33 != i.operands);" do (compound_statement "{\n            if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            uVar33 = uVar33 + 1;\n          }" { (if_statement "if (((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))) {\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }" if (parenthesized_expression "(((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4)))" ( (binary_expression "((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))\n               || (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))" (parenthesized_expression "((((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0))" ( (binary_expression "(((ulonglong)i.types[uVar33] & 1) != 0) || (((ulonglong)i.types[uVar33] & 4) != 0)" (parenthesized_expression "(((ulonglong)i.types[uVar33] & 1) != 0)" ( (binary_expression "((ulonglong)i.types[uVar33] & 1) != 0" (parenthesized_expression "((ulonglong)i.types[uVar33] & 1)" ( (binary_expression "(ulonglong)i.types[uVar33] & 1" (cast_expression "(ulonglong)i.types[uVar33]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "i.types[uVar33]" (field_expression "i.types" identifier . field_identifier) [ identifier ])) & number_literal) )) != number_literal) )) || (parenthesized_expression "(((ulonglong)i.types[uVar33] & 4) != 0)" ( (binary_expression "((ulonglong)i.types[uVar33] & 4) != 0" (parenthesized_expression "((ulonglong)i.types[uVar33] & 4)" ( (binary_expression "(ulonglong)i.types[uVar33] & 4" (cast_expression "(ulonglong)i.types[uVar33]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "i.types[uVar33]" (field_expression "i.types" identifier . field_identifier) [ identifier ])) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4))" ( (binary_expression "-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 4)" number_literal < (pointer_expression "*(char *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(char *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) (compound_statement "{\n              if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);\n              if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }" { (if_statement "if ((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }" if (parenthesized_expression "((((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))))))" ( (binary_expression "(((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))" (parenthesized_expression "(((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))))))" ( (binary_expression "((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))) ||\n                  ((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))" (parenthesized_expression "((((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0))))))))))" ( (binary_expression "(((ulonglong)t->operand_types[uVar33] & 1) != 0) &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))" (parenthesized_expression "(((ulonglong)t->operand_types[uVar33] & 1) != 0)" ( (binary_expression "((ulonglong)t->operand_types[uVar33] & 1) != 0" (parenthesized_expression "((ulonglong)t->operand_types[uVar33] & 1)" ( (binary_expression "(ulonglong)t->operand_types[uVar33] & 1" (cast_expression "(ulonglong)t->operand_types[uVar33]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "t->operand_types[uVar33]" (field_expression "t->operand_types" identifier -> field_identifier) [ identifier ])) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))))" ( (parenthesized_expression "((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0))))))))" ( (binary_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))" (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 3)" ( (binary_expression "(int)i.types + uVar33 * 8 + 3" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 3" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 3)" ( (binary_expression "(int)i.types + uVar33 * 8 + 3" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 3" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))))" ( (parenthesized_expression "((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0))))))" ( (binary_expression "(*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))" (parenthesized_expression "(*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3)))" ( (binary_expression "*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))" (binary_expression "*(char *)((int)i.types + uVar33 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)i.types + uVar33 * 8 + 3)" * (cast_expression "(char *)((int)i.types + uVar33 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 3)" ( (binary_expression "(int)i.types + uVar33 * 8 + 3" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)t->operand_types + uVar33 * 8 + 3)" * (cast_expression "(char *)((int)t->operand_types + uVar33 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 3" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) || (parenthesized_expression "((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))))" ( (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0))))" ( (binary_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))" (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 4)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 4" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "((bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))" ( (parenthesized_expression "(bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))))" ( (comma_expression "bVar26 = *(byte *)(t->operand_types + uVar33) >> 2, (bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))" (assignment_expression "bVar26 = *(byte *)(t->operand_types + uVar33) >> 2" identifier = (binary_expression "*(byte *)(t->operand_types + uVar33) >> 2" (pointer_expression "*(byte *)(t->operand_types + uVar33)" * (cast_expression "(byte *)(t->operand_types + uVar33)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(t->operand_types + uVar33)" ( (binary_expression "t->operand_types + uVar33" (field_expression "t->operand_types" identifier -> field_identifier) + identifier) )))) >> number_literal)) , (binary_expression "(bVar26 & 1) != 0 &&\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))" (binary_expression "(bVar26 & 1) != 0" (parenthesized_expression "(bVar26 & 1)" ( (binary_expression "bVar26 & 1" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))" ( (parenthesized_expression "((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))" ( (binary_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))" (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0))))" ( (binary_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))" (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 8)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 8" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) )))) )) ))) )) || (parenthesized_expression "(((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))))" ( (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))))" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))" (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 2)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 2)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 2" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))))" ( (parenthesized_expression "(((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))" ( (binary_expression "((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                   (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))" (parenthesized_expression "((((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0))))" ( (binary_expression "(((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))" (parenthesized_expression "(((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0))))))" ( (binary_expression "((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) ||\n                     ((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))" (parenthesized_expression "((((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0))))))" ( (binary_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))" (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 3)" ( (binary_expression "(int)i.types + uVar33 * 8 + 3" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 3" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 3)" ( (binary_expression "(int)i.types + uVar33 * 8 + 3" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 3" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))" ( (parenthesized_expression "((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0))))" ( (binary_expression "(*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))) ||\n                       (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))" (parenthesized_expression "(*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3)))" ( (binary_expression "*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))" (binary_expression "*(char *)((int)i.types + uVar33 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)i.types + uVar33 * 8 + 3)" * (cast_expression "(char *)((int)i.types + uVar33 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 3)" ( (binary_expression "(int)i.types + uVar33 * 8 + 3" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)t->operand_types + uVar33 * 8 + 3)" * (cast_expression "(char *)((int)t->operand_types + uVar33 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 3" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                        ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))))" ( (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0))))" ( (binary_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))" (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 4)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 4" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 8)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 8" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                    ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\nLAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;\n                if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }\n                uVar33 = 0;\n                goto LAB_0004bc61;\n              }" { (labeled_statement "LAB_0004bc40:\n                if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;" statement_identifier : (if_statement "if ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0) goto LAB_0004c4e4;" if (parenthesized_expression "((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0)" ( (binary_expression "(undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)\n                    == (undefined1  [12])0x0" (call_expression "(undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)" (parenthesized_expression "(undefined1  [12])" ( (subscript_expression "undefined1  [12]" identifier [ number_literal ]) )) (argument_list "((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1)" ( (binary_expression "(undefined1  [12])t->opcode_modifier & (undefined1  [12])0x1" (cast_expression "(undefined1  [12])t->opcode_modifier" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) (field_expression "t->opcode_modifier" identifier -> field_identifier)) & (cast_expression "(undefined1  [12])0x1" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) number_literal)) ))) == (cast_expression "(undefined1  [12])0x0" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) number_literal)) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;))) (if_statement "if (i.operands != 2) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }" if (parenthesized_expression "(i.operands != 2)" ( (binary_expression "i.operands != 2" (field_expression "i.operands" identifier . field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");\n                }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x7e9,"operand_size_match")" identifier (argument_list "("../../gas/config/tc-i386.c",0x7e9,"operand_size_match")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""operand_size_match"" " string_content ") ))) ;) })) (expression_statement "uVar33 = 0;" (assignment_expression "uVar33 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004bc61;" goto statement_identifier ;) })) (expression_statement "bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3);" (assignment_expression "bVar19 = *(byte *)((int)i.types + uVar33 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 3)" ( (binary_expression "(int)i.types + uVar33 * 8 + 3" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((bVar19 & 0x10) != 0) {\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }" if (parenthesized_expression "((bVar19 & 0x10) != 0)" ( (binary_expression "(bVar19 & 0x10) != 0" (parenthesized_expression "(bVar19 & 0x10)" ( (binary_expression "bVar19 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;\n                if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }" { (if_statement "if (((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))\n                goto LAB_0004bc40;" if (parenthesized_expression "(((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))))" ( (binary_expression "((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))) ||\n                   (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0)))))" (parenthesized_expression "((((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0))))" ( (binary_expression "(((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))" (parenthesized_expression "(((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3)))))" ( (binary_expression "((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))" (parenthesized_expression "((((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "(((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0))" ( (binary_expression "((bVar19 & 0x20) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((bVar19 & 0x20) != 0)" ( (binary_expression "(bVar19 & 0x20) != 0" (parenthesized_expression "(bVar19 & 0x20)" ( (binary_expression "bVar19 & 0x20" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 3" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 3)" ( (binary_expression "(int)i.types + uVar33 * 8 + 3" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 3" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))))" ( (parenthesized_expression "(*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3)))" ( (binary_expression "*(char *)((int)i.types + uVar33 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))" (binary_expression "*(char *)((int)i.types + uVar33 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)i.types + uVar33 * 8 + 3)" * (cast_expression "(char *)((int)i.types + uVar33 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 3)" ( (binary_expression "(int)i.types + uVar33 * 8 + 3" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)t->operand_types + uVar33 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)t->operand_types + uVar33 * 8 + 3)" * (cast_expression "(char *)((int)t->operand_types + uVar33 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 3" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 2) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0)))))" ( (parenthesized_expression "((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))))" ( (binary_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))) ||\n                    (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0)))" (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0))))))" ( (binary_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))" (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 4) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 4)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 4" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 4" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0))))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0 &&\n                      ((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x40" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)))" ( (parenthesized_expression "(i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0))" ( (binary_expression "i.broadcast == (Broadcast_Operation *)0x0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)" (binary_expression "i.broadcast == (Broadcast_Operation *)0x0" (field_expression "i.broadcast" identifier . field_identifier) == (cast_expression "(Broadcast_Operation *)0x0" ( (type_descriptor "Broadcast_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x40" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0 &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 1) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 1)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 1" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 1" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004bc40;" goto statement_identifier ;)) (if_statement "if ((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))) {\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }\n                else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" if (parenthesized_expression "((((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0))))))" ( (binary_expression "(((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n                   ((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))" (parenthesized_expression "(((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0))" ( (binary_expression "((bVar26 & 1) == 0) || (((t->opcode_modifier).field_0x7 & 0x20) != 0)" (parenthesized_expression "((bVar26 & 1) == 0)" ( (binary_expression "(bVar26 & 1) == 0" (parenthesized_expression "(bVar26 & 1)" ( (binary_expression "bVar26 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(((t->opcode_modifier).field_0x7 & 0x20) != 0)" ( (binary_expression "((t->opcode_modifier).field_0x7 & 0x20) != 0" (parenthesized_expression "((t->opcode_modifier).field_0x7 & 0x20)" ( (binary_expression "(t->opcode_modifier).field_0x7 & 0x20" (field_expression "(t->opcode_modifier).field_0x7" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))))" ( (parenthesized_expression "(bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0))))" ( (comma_expression "bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3),\n                    (bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))" (assignment_expression "bVar26 = *(byte *)((int)t->operand_types + uVar33 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 3" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) ))))) , (binary_expression "(bVar26 & 0x20) == 0 &&\n                    ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))" (binary_expression "(bVar26 & 0x20) == 0" (parenthesized_expression "(bVar26 & 0x20)" ( (binary_expression "bVar26 & 0x20" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)))" ( (parenthesized_expression "(((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0))" ( (binary_expression "((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n                     ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)" (parenthesized_expression "((bVar26 & 0x40) == 0 && (-1 < (char)bVar26))" ( (binary_expression "(bVar26 & 0x40) == 0 && (-1 < (char)bVar26)" (binary_expression "(bVar26 & 0x40) == 0" (parenthesized_expression "(bVar26 & 0x40)" ( (binary_expression "bVar26 & 0x40" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(-1 < (char)bVar26)" ( (binary_expression "-1 < (char)bVar26" number_literal < (cast_expression "(char)bVar26" ( (type_descriptor "char" primitive_type) ) identifier)) ))) )) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) )))) )) ))) )) (compound_statement "{\n                  if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;\n                }" { (if_statement "if (((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))\n                  goto LAB_0004bc40;" if (parenthesized_expression "(((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))))" ( (binary_expression "((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))) ||\n                     (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))" (parenthesized_expression "((((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0))))" ( (binary_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)) ||\n                      (((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))" (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0))" ( (binary_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0) &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)" (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0)" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 8) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 8)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 8" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 8" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0 &&\n                       ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x10" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x10" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0 &&\n                      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 4) & 0x20" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004bc40;" goto statement_identifier ;)) }) (else_clause "else {\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" else (compound_statement "{\n                  bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);\n                  if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" { (expression_statement "bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4);" (assignment_expression "bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4)" identifier = (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n                  goto LAB_0004bc40;" if (parenthesized_expression "(((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))" ( (binary_expression "((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0)))" (parenthesized_expression "((bVar26 & 8) != 0)" ( (binary_expression "(bVar26 & 8) != 0" (parenthesized_expression "(bVar26 & 8)" ( (binary_expression "bVar26 & 8" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0)))" ( (parenthesized_expression "((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))" ( (binary_expression "(bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0)" (binary_expression "(bVar26 & 0x10) != 0" (parenthesized_expression "(bVar26 & 0x10)" ( (binary_expression "bVar26 & 0x10" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((bVar26 & 0x20) != 0)" ( (binary_expression "(bVar26 & 0x20) != 0" (parenthesized_expression "(bVar26 & 0x20)" ( (binary_expression "bVar26 & 0x20" identifier & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004bc40;" goto statement_identifier ;)) }))) })) })) (expression_statement "uVar33 = uVar33 + 1;" (assignment_expression "uVar33 = uVar33 + 1" identifier = (binary_expression "uVar33 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar33 != i.operands)" ( (binary_expression "uVar33 != i.operands" identifier != (field_expression "i.operands" identifier . field_identifier)) )) ;) (expression_statement "uVar33 = 0;" (assignment_expression "uVar33 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n        uVar33 = 0;\n      }" else (compound_statement "{\n        uVar33 = 0;\n      }" { (expression_statement "uVar33 = 0;" (assignment_expression "uVar33 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0004c04c;" goto statement_identifier ;) })) (if_statement "if (-1 < (char)(t->opcode_modifier).field_0x8) {\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if (intel64 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar26 & 2) == 0) goto LAB_0004bad7;\n    }" if (parenthesized_expression "(-1 < (char)(t->opcode_modifier).field_0x8)" ( (binary_expression "-1 < (char)(t->opcode_modifier).field_0x8" number_literal < (cast_expression "(char)(t->opcode_modifier).field_0x8" ( (type_descriptor "char" primitive_type) ) (field_expression "(t->opcode_modifier).field_0x8" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier))) )) (compound_statement "{\n      bVar26 = (t->opcode_modifier).field_0x9;\n      if (intel64 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar26 & 2) == 0) goto LAB_0004bad7;\n    }" { (expression_statement "bVar26 = (t->opcode_modifier).field_0x9;" (assignment_expression "bVar26 = (t->opcode_modifier).field_0x9" identifier = (field_expression "(t->opcode_modifier).field_0x9" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (intel64 == 0) goto LAB_0004bacf;" if (parenthesized_expression "(intel64 == 0)" ( (binary_expression "intel64 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004bacf;" goto statement_identifier ;)) (labeled_statement "LAB_0004bfcc:\n      if ((bVar26 & 2) == 0) goto LAB_0004bad7;" statement_identifier : (if_statement "if ((bVar26 & 2) == 0) goto LAB_0004bad7;" if (parenthesized_expression "((bVar26 & 2) == 0)" ( (binary_expression "(bVar26 & 2) == 0" (parenthesized_expression "(bVar26 & 2)" ( (binary_expression "bVar26 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004bad7;" goto statement_identifier ;))) })) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;) })) (if_statement "if (t == current_templates->end) {\n_L3098:\n    pcVar24 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }" if (parenthesized_expression "(t == current_templates->end)" ( (binary_expression "t == current_templates->end" identifier == (field_expression "current_templates->end" identifier -> field_identifier)) )) (compound_statement "{\n_L3098:\n    pcVar24 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }" { (labeled_statement "_L3098:\n    pcVar24 = "number of operands mismatch";" statement_identifier : (expression_statement "pcVar24 = "number of operands mismatch";" (assignment_expression "pcVar24 = "number of operands mismatch"" identifier = (string_literal ""number of operands mismatch"" " string_content ")) ;)) (goto_statement "goto LAB_0004ca20;" goto statement_identifier ;) })) (if_statement "if (quiet_warnings != 0) {\n    piVar32 = t;\n    piVar34 = &i;\n    for (iVar20 = 0x16; iVar20 != 0; iVar20 = iVar20 + -1) {\n      (piVar34->tm).name = piVar32->name;\n      piVar32 = (insn_template *)&piVar32->operands;\n      piVar34 = (i386_insn *)&(piVar34->tm).operands;\n    }\n    return t;\n  }" if (parenthesized_expression "(quiet_warnings != 0)" ( (binary_expression "quiet_warnings != 0" identifier != number_literal) )) (compound_statement "{\n    piVar32 = t;\n    piVar34 = &i;\n    for (iVar20 = 0x16; iVar20 != 0; iVar20 = iVar20 + -1) {\n      (piVar34->tm).name = piVar32->name;\n      piVar32 = (insn_template *)&piVar32->operands;\n      piVar34 = (i386_insn *)&(piVar34->tm).operands;\n    }\n    return t;\n  }" { (expression_statement "piVar32 = t;" (assignment_expression "piVar32 = t" identifier = identifier) ;) (expression_statement "piVar34 = &i;" (assignment_expression "piVar34 = &i" identifier = (pointer_expression "&i" & identifier)) ;) (for_statement "for (iVar20 = 0x16; iVar20 != 0; iVar20 = iVar20 + -1) {\n      (piVar34->tm).name = piVar32->name;\n      piVar32 = (insn_template *)&piVar32->operands;\n      piVar34 = (i386_insn *)&(piVar34->tm).operands;\n    }" for ( (assignment_expression "iVar20 = 0x16" identifier = number_literal) ; (binary_expression "iVar20 != 0" identifier != number_literal) ; (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ) (compound_statement "{\n      (piVar34->tm).name = piVar32->name;\n      piVar32 = (insn_template *)&piVar32->operands;\n      piVar34 = (i386_insn *)&(piVar34->tm).operands;\n    }" { (expression_statement "(piVar34->tm).name = piVar32->name;" (assignment_expression "(piVar34->tm).name = piVar32->name" (field_expression "(piVar34->tm).name" (parenthesized_expression "(piVar34->tm)" ( (field_expression "piVar34->tm" identifier -> field_identifier) )) . field_identifier) = (field_expression "piVar32->name" identifier -> field_identifier)) ;) (expression_statement "piVar32 = (insn_template *)&piVar32->operands;" (assignment_expression "piVar32 = (insn_template *)&piVar32->operands" identifier = (cast_expression "(insn_template *)&piVar32->operands" ( (type_descriptor "insn_template *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&piVar32->operands" & (field_expression "piVar32->operands" identifier -> field_identifier)))) ;) (expression_statement "piVar34 = (i386_insn *)&(piVar34->tm).operands;" (assignment_expression "piVar34 = (i386_insn *)&(piVar34->tm).operands" identifier = (cast_expression "(i386_insn *)&(piVar34->tm).operands" ( (type_descriptor "i386_insn *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(piVar34->tm).operands" & (field_expression "(piVar34->tm).operands" (parenthesized_expression "(piVar34->tm)" ( (field_expression "piVar34->tm" identifier -> field_identifier) )) . field_identifier)))) ;) })) (return_statement "return t;" return identifier ;) })) (expression_statement "local_d8 = ~CODE_32BIT;" (assignment_expression "local_d8 = ~CODE_32BIT" identifier = (unary_expression "~CODE_32BIT" ~ identifier)) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004bed8;" goto statement_identifier ;) (labeled_statement "LAB_0004bc61:\n  if (((((ulonglong)t->operand_types[uVar33] & 1) != 0) ||\n      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0)) &&\n     (((((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))) ||\n      ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))))))) goto LAB_0004c4e4;" statement_identifier : (if_statement "if (((((ulonglong)t->operand_types[uVar33] & 1) != 0) ||\n      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0)) &&\n     (((((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))) ||\n      ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))))))) goto LAB_0004c4e4;" if (parenthesized_expression "(((((ulonglong)t->operand_types[uVar33] & 1) != 0) ||\n      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0)) &&\n     (((((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))) ||\n      ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0))))))))" ( (binary_expression "((((ulonglong)t->operand_types[uVar33] & 1) != 0) ||\n      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0)) &&\n     (((((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))) ||\n      ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))))))" (parenthesized_expression "((((ulonglong)t->operand_types[uVar33] & 1) != 0) ||\n      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0))" ( (binary_expression "(((ulonglong)t->operand_types[uVar33] & 1) != 0) ||\n      ((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0)" (parenthesized_expression "(((ulonglong)t->operand_types[uVar33] & 1) != 0)" ( (binary_expression "((ulonglong)t->operand_types[uVar33] & 1) != 0" (parenthesized_expression "((ulonglong)t->operand_types[uVar33] & 1)" ( (binary_expression "(ulonglong)t->operand_types[uVar33] & 1" (cast_expression "(ulonglong)t->operand_types[uVar33]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "t->operand_types[uVar33]" (field_expression "t->operand_types" identifier -> field_identifier) [ identifier ])) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 2) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 2)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 2)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 2" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(((((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))) ||\n      ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))))))" ( (parenthesized_expression "((((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))) ||\n      ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0))))))" ( (binary_expression "(((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))) ||\n      ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))))" (parenthesized_expression "(((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3)))))" ( (binary_expression "((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n       ((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))" (parenthesized_expression "((uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "(uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n        (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0))" ( (comma_expression "uVar21 = uVar33 ^ 1, (*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)" (assignment_expression "uVar21 = uVar33 ^ 1" identifier = (binary_expression "uVar33 ^ 1" identifier ^ number_literal)) , (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 3)" ( (binary_expression "(int)i.types + uVar21 * 8 + 3" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 3" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 3)" ( (binary_expression "(int)i.types + uVar21 * 8 + 3" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 3" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))))" ( (parenthesized_expression "(*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3)))" ( (binary_expression "*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n        (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))" (binary_expression "*(char *)((int)i.types + uVar21 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)i.types + uVar21 * 8 + 3)" * (cast_expression "(char *)((int)i.types + uVar21 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 3)" ( (binary_expression "(int)i.types + uVar21 * 8 + 3" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)t->operand_types + uVar21 * 8 + 3)" * (cast_expression "(char *)((int)t->operand_types + uVar21 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 3" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) ))) )) || (parenthesized_expression "((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))))" ( (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0))))" ( (binary_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))" (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 4)" ( (binary_expression "(int)i.types + uVar21 * 8 + 4" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 4" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 4)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 4) & 4" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 4)" ( (binary_expression "(int)i.types + uVar21 * 8 + 4" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 4" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;))) (if_statement "if ((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x10) != 0) {\n    uVar21 = uVar33 ^ 1;\n    if ((((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))))) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0)))) goto LAB_0004c4e4;\n    if (((((ulonglong)t->operand_types[uVar21] & 4) == 0) ||\n        (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n       ((bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))))) {\n      if ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar26 = *(byte *)((int)i.types + uVar21 * 8 + 4);\n      if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }" if (parenthesized_expression "((*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x10)" ( (binary_expression "*(byte *)((int)i.types + uVar33 * 8 + 3) & 0x10" (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 3)" ( (binary_expression "(int)i.types + uVar33 * 8 + 3" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar21 = uVar33 ^ 1;\n    if ((((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))))) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0)))) goto LAB_0004c4e4;\n    if (((((ulonglong)t->operand_types[uVar21] & 4) == 0) ||\n        (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n       ((bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))))) {\n      if ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar26 = *(byte *)((int)i.types + uVar21 * 8 + 4);\n      if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }" { (expression_statement "uVar21 = uVar33 ^ 1;" (assignment_expression "uVar21 = uVar33 ^ 1" identifier = (binary_expression "uVar33 ^ 1" identifier ^ number_literal)) ;) (if_statement "if ((((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))))) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0)))) goto LAB_0004c4e4;" if (parenthesized_expression "((((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))))) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0))))" ( (binary_expression "(((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))))) ||\n       (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0)))" (parenthesized_expression "(((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0))))))))))))" ( (binary_expression "((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))))" (parenthesized_expression "((((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0))" ( (binary_expression "((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 3)" ( (binary_expression "(int)i.types + uVar21 * 8 + 3" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 3" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 3)" ( (binary_expression "(int)i.types + uVar21 * 8 + 3" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 3" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))))" ( (parenthesized_expression "((*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0))))))))))" ( (binary_expression "(*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))" (parenthesized_expression "(*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3)))" ( (binary_expression "*(char *)((int)i.types + uVar21 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))" (binary_expression "*(char *)((int)i.types + uVar21 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)i.types + uVar21 * 8 + 3)" * (cast_expression "(char *)((int)i.types + uVar21 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 3)" ( (binary_expression "(int)i.types + uVar21 * 8 + 3" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)t->operand_types + uVar21 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)t->operand_types + uVar21 * 8 + 3)" * (cast_expression "(char *)((int)t->operand_types + uVar21 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 3" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) || (parenthesized_expression "((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))))" ( (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0))))))))" ( (binary_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)) ||\n          ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))" (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 2) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 4)" ( (binary_expression "(int)i.types + uVar21 * 8 + 4" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 4" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))))" ( (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0))))))" ( (binary_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)) ||\n           (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))" (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0 &&\n            ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 4) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 4)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 4) & 4" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 4)" ( (binary_expression "(int)i.types + uVar21 * 8 + 4" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 4" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 4" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0))))" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0 &&\n            ((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x40" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 4)" ( (binary_expression "(int)i.types + uVar21 * 8 + 4" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)))" ( (parenthesized_expression "(i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0))" ( (binary_expression "i.broadcast == (Broadcast_Operation *)0x0 &&\n             ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)" (binary_expression "i.broadcast == (Broadcast_Operation *)0x0" (field_expression "i.broadcast" identifier . field_identifier) == (cast_expression "(Broadcast_Operation *)0x0" ( (type_descriptor "Broadcast_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x40" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 4" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0 &&\n        ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 1) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 1)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 4) & 1" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 4)" ( (binary_expression "(int)i.types + uVar21 * 8 + 4" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 1" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 4" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) (if_statement "if (((((ulonglong)t->operand_types[uVar21] & 4) == 0) ||\n        (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n       ((bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))))) {\n      if ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar26 = *(byte *)((int)i.types + uVar21 * 8 + 4);\n      if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" if (parenthesized_expression "(((((ulonglong)t->operand_types[uVar21] & 4) == 0) ||\n        (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n       ((bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0))))))" ( (binary_expression "((((ulonglong)t->operand_types[uVar21] & 4) == 0) ||\n        (((t->opcode_modifier).field_0x7 & 0x20) != 0)) ||\n       ((bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))))" (parenthesized_expression "((((ulonglong)t->operand_types[uVar21] & 4) == 0) ||\n        (((t->opcode_modifier).field_0x7 & 0x20) != 0))" ( (binary_expression "(((ulonglong)t->operand_types[uVar21] & 4) == 0) ||\n        (((t->opcode_modifier).field_0x7 & 0x20) != 0)" (parenthesized_expression "(((ulonglong)t->operand_types[uVar21] & 4) == 0)" ( (binary_expression "((ulonglong)t->operand_types[uVar21] & 4) == 0" (parenthesized_expression "((ulonglong)t->operand_types[uVar21] & 4)" ( (binary_expression "(ulonglong)t->operand_types[uVar21] & 4" (cast_expression "(ulonglong)t->operand_types[uVar21]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "t->operand_types[uVar21]" (field_expression "t->operand_types" identifier -> field_identifier) [ identifier ])) & number_literal) )) == number_literal) )) || (parenthesized_expression "(((t->opcode_modifier).field_0x7 & 0x20) != 0)" ( (binary_expression "((t->opcode_modifier).field_0x7 & 0x20) != 0" (parenthesized_expression "((t->opcode_modifier).field_0x7 & 0x20)" ( (binary_expression "(t->opcode_modifier).field_0x7 & 0x20" (field_expression "(t->opcode_modifier).field_0x7" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))))" ( (parenthesized_expression "(bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0))))" ( (comma_expression "bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3), (bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))" (assignment_expression "bVar26 = *(byte *)((int)t->operand_types + uVar21 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 3)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 3" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) ))))) , (binary_expression "(bVar26 & 0x20) == 0 &&\n        ((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))" (binary_expression "(bVar26 & 0x20) == 0" (parenthesized_expression "(bVar26 & 0x20)" ( (binary_expression "bVar26 & 0x20" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)))" ( (parenthesized_expression "(((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0))" ( (binary_expression "((bVar26 & 0x40) == 0 && (-1 < (char)bVar26)) &&\n         ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)" (parenthesized_expression "((bVar26 & 0x40) == 0 && (-1 < (char)bVar26))" ( (binary_expression "(bVar26 & 0x40) == 0 && (-1 < (char)bVar26)" (binary_expression "(bVar26 & 0x40) == 0" (parenthesized_expression "(bVar26 & 0x40)" ( (binary_expression "bVar26 & 0x40" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(-1 < (char)bVar26)" ( (binary_expression "-1 < (char)bVar26" number_literal < (cast_expression "(char)bVar26" ( (type_descriptor "char" primitive_type) ) identifier)) ))) )) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 2" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 4" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) )))) )) ))) )) (compound_statement "{\n      if ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }" { (if_statement "if ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))))) goto LAB_0004c4e4;" if (parenthesized_expression "((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0))))))" ( (binary_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)) ||\n         ((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))))" (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0))" ( (binary_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0) &&\n          ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)" (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0)" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 8) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 8)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 4) & 8" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 4)" ( (binary_expression "(int)i.types + uVar21 * 8 + 4" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 8" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 4" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))))" ( (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0))))" ( (binary_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)) ||\n          (((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x10" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 4)" ( (binary_expression "(int)i.types + uVar21 * 8 + 4" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x10" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 4" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)))" ( (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0))" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0 &&\n           ((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)" (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 4) & 0x20" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 4)" ( (binary_expression "(int)i.types + uVar21 * 8 + 4" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar21 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar21 * 8 + 4" (binary_expression "(int)t->operand_types + uVar21 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) }) (else_clause "else {\n      bVar26 = *(byte *)((int)i.types + uVar21 * 8 + 4);\n      if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" else (compound_statement "{\n      bVar26 = *(byte *)((int)i.types + uVar21 * 8 + 4);\n      if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" { (expression_statement "bVar26 = *(byte *)((int)i.types + uVar21 * 8 + 4);" (assignment_expression "bVar26 = *(byte *)((int)i.types + uVar21 * 8 + 4)" identifier = (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 4)" ( (binary_expression "(int)i.types + uVar21 * 8 + 4" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))\n      goto LAB_0004c4e4;" if (parenthesized_expression "(((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))))" ( (binary_expression "((bVar26 & 8) != 0) || (((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0)))" (parenthesized_expression "((bVar26 & 8) != 0)" ( (binary_expression "(bVar26 & 8) != 0" (parenthesized_expression "(bVar26 & 8)" ( (binary_expression "bVar26 & 8" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0)))" ( (parenthesized_expression "((bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0))" ( (binary_expression "(bVar26 & 0x10) != 0 || ((bVar26 & 0x20) != 0)" (binary_expression "(bVar26 & 0x10) != 0" (parenthesized_expression "(bVar26 & 0x10)" ( (binary_expression "bVar26 & 0x10" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((bVar26 & 0x20) != 0)" ( (binary_expression "(bVar26 & 0x20) != 0" (parenthesized_expression "(bVar26 & 0x20)" ( (binary_expression "bVar26 & 0x20" identifier & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) }))) })) (if_statement "if (uVar33 == 1) goto code_r0x0004be14;" if (parenthesized_expression "(uVar33 == 1)" ( (binary_expression "uVar33 == 1" identifier == number_literal) )) (goto_statement "goto code_r0x0004be14;" goto statement_identifier ;)) (expression_statement "uVar33 = 1;" (assignment_expression "uVar33 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0004bc61;" goto statement_identifier ;) (labeled_statement "LAB_0004c4e4:\n  i.error = operand_size_mismatch;" statement_identifier : (expression_statement "i.error = operand_size_mismatch;" (assignment_expression "i.error = operand_size_mismatch" (field_expression "i.error" identifier . field_identifier) = identifier) ;)) (expression_statement "local_d8 = ~CODE_32BIT;" (assignment_expression "local_d8 = ~CODE_32BIT" identifier = (unary_expression "~CODE_32BIT" ~ identifier)) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) (labeled_statement "code_r0x0004be14:\n  uVar33 = 0;" statement_identifier : (expression_statement "uVar33 = 0;" (assignment_expression "uVar33 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0004c04c:\n  do {\n    uVar5 = *(undefined4 *)((int)t->operand_types + uVar33 * 8 + 4);\n    operand_types[uVar33].array[0] = t->operand_types[uVar33].array[0];\n    *(undefined4 *)((int)operand_types + uVar33 * 8 + 4) = uVar5;\n    uVar33 = uVar33 + 1;\n  } while (uVar33 != 5);" statement_identifier : (do_statement "do {\n    uVar5 = *(undefined4 *)((int)t->operand_types + uVar33 * 8 + 4);\n    operand_types[uVar33].array[0] = t->operand_types[uVar33].array[0];\n    *(undefined4 *)((int)operand_types + uVar33 * 8 + 4) = uVar5;\n    uVar33 = uVar33 + 1;\n  } while (uVar33 != 5);" do (compound_statement "{\n    uVar5 = *(undefined4 *)((int)t->operand_types + uVar33 * 8 + 4);\n    operand_types[uVar33].array[0] = t->operand_types[uVar33].array[0];\n    *(undefined4 *)((int)operand_types + uVar33 * 8 + 4) = uVar5;\n    uVar33 = uVar33 + 1;\n  }" { (expression_statement "uVar5 = *(undefined4 *)((int)t->operand_types + uVar33 * 8 + 4);" (assignment_expression "uVar5 = *(undefined4 *)((int)t->operand_types + uVar33 * 8 + 4)" identifier = (pointer_expression "*(undefined4 *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(undefined4 *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "operand_types[uVar33].array[0] = t->operand_types[uVar33].array[0];" (assignment_expression "operand_types[uVar33].array[0] = t->operand_types[uVar33].array[0]" (subscript_expression "operand_types[uVar33].array[0]" (field_expression "operand_types[uVar33].array" (subscript_expression "operand_types[uVar33]" identifier [ identifier ]) . field_identifier) [ number_literal ]) = (subscript_expression "t->operand_types[uVar33].array[0]" (field_expression "t->operand_types[uVar33].array" (subscript_expression "t->operand_types[uVar33]" (field_expression "t->operand_types" identifier -> field_identifier) [ identifier ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)operand_types + uVar33 * 8 + 4) = uVar5;" (assignment_expression "*(undefined4 *)((int)operand_types + uVar33 * 8 + 4) = uVar5" (pointer_expression "*(undefined4 *)((int)operand_types + uVar33 * 8 + 4)" * (cast_expression "(undefined4 *)((int)operand_types + uVar33 * 8 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)operand_types + uVar33 * 8 + 4" (binary_expression "(int)operand_types + uVar33 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "uVar33 = uVar33 + 1;" (assignment_expression "uVar33 = uVar33 + 1" identifier = (binary_expression "uVar33 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar33 != 5)" ( (binary_expression "uVar33 != 5" identifier != number_literal) )) ;)) (if_statement "if (i.suffix == 'q') {\n    if (flag_code != CODE_64BIT) {\n      if (intel_syntax == 0) {\n        if ((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))\n        goto LAB_0004be5a;\n      }\n      else if ((-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))) {\nLAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = t->operands;\n  }\n  else {\n    if ((i.suffix != 'l') || ((cpu_arch_flags.array[0]._0_1_ & 4) != 0)) goto LAB_0004c390;\n    if (intel_syntax == 0) {\n      if ((*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2))\n      goto LAB_0004c390;\n    }\n    else if (((char)(t->opcode_modifier).field_0x1 < '\0') ||\n            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))))\n    goto LAB_0004c390;\n    if ((operand_types[0].array[0] & 6) == 0) goto LAB_0004bea5;\n    local_d4 = t->operands;\n    if ((((ulonglong)operand_types[1 < local_d4] & 2) == 0) &&\n       (((ulonglong)operand_types[1 < local_d4] & 4) == 0)) goto LAB_0004bea5;\n  }" if (parenthesized_expression "(i.suffix == 'q')" ( (binary_expression "i.suffix == 'q'" (field_expression "i.suffix" identifier . field_identifier) == (char_literal "'q'" ' character ')) )) (compound_statement "{\n    if (flag_code != CODE_64BIT) {\n      if (intel_syntax == 0) {\n        if ((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))\n        goto LAB_0004be5a;\n      }\n      else if ((-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))) {\nLAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = t->operands;\n  }" { (if_statement "if (flag_code != CODE_64BIT) {\n      if (intel_syntax == 0) {\n        if ((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))\n        goto LAB_0004be5a;\n      }\n      else if ((-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))) {\nLAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }" if (parenthesized_expression "(flag_code != CODE_64BIT)" ( (binary_expression "flag_code != CODE_64BIT" identifier != identifier) )) (compound_statement "{\n      if (intel_syntax == 0) {\n        if ((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))\n        goto LAB_0004be5a;\n      }\n      else if ((-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))) {\nLAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }" { (if_statement "if (intel_syntax == 0) {\n        if ((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))\n        goto LAB_0004be5a;\n      }\n      else if ((-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))) {\nLAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" if (parenthesized_expression "(intel_syntax == 0)" ( (binary_expression "intel_syntax == 0" identifier == number_literal) )) (compound_statement "{\n        if ((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))\n        goto LAB_0004be5a;\n      }" { (if_statement "if ((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))\n        goto LAB_0004be5a;" if (parenthesized_expression "((*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2))" ( (binary_expression "(*t->name != 'f') || (iVar20 = intel_float_operand(t->name), iVar20 != 2)" (parenthesized_expression "(*t->name != 'f')" ( (binary_expression "*t->name != 'f'" (pointer_expression "*t->name" * (field_expression "t->name" identifier -> field_identifier)) != (char_literal "'f'" ' character ')) )) || (parenthesized_expression "(iVar20 = intel_float_operand(t->name), iVar20 != 2)" ( (comma_expression "iVar20 = intel_float_operand(t->name), iVar20 != 2" (assignment_expression "iVar20 = intel_float_operand(t->name)" identifier = (call_expression "intel_float_operand(t->name)" identifier (argument_list "(t->name)" ( (field_expression "t->name" identifier -> field_identifier) )))) , (binary_expression "iVar20 != 2" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0004be5a;" goto statement_identifier ;)) }) (else_clause "else if ((-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))) {\nLAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" else (if_statement "if ((-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))) {\nLAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" if (parenthesized_expression "((-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0))))" ( (binary_expression "(-1 < (char)(t->opcode_modifier).field_0x1) &&\n              ((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))" (parenthesized_expression "(-1 < (char)(t->opcode_modifier).field_0x1)" ( (binary_expression "-1 < (char)(t->opcode_modifier).field_0x1" number_literal < (cast_expression "(char)(t->opcode_modifier).field_0x1" ( (type_descriptor "char" primitive_type) ) (field_expression "(t->opcode_modifier).field_0x1" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier))) )) && (parenthesized_expression "((*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)))" ( (parenthesized_expression "(*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0))" ( (binary_expression "*t->name != 'f' || (iVar20 = intel_float_operand(t->name), iVar20 == 0)" (binary_expression "*t->name != 'f'" (pointer_expression "*t->name" * (field_expression "t->name" identifier -> field_identifier)) != (char_literal "'f'" ' character ')) || (parenthesized_expression "(iVar20 = intel_float_operand(t->name), iVar20 == 0)" ( (comma_expression "iVar20 = intel_float_operand(t->name), iVar20 == 0" (assignment_expression "iVar20 = intel_float_operand(t->name)" identifier = (call_expression "intel_float_operand(t->name)" identifier (argument_list "(t->name)" ( (field_expression "t->name" identifier -> field_identifier) )))) , (binary_expression "iVar20 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\nLAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" { (labeled_statement "LAB_0004be5a:\n        if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }" statement_identifier : (if_statement "if ((operand_types[0].array[0] & 6) != 0) {\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }" if (parenthesized_expression "((operand_types[0].array[0] & 6) != 0)" ( (binary_expression "(operand_types[0].array[0] & 6) != 0" (parenthesized_expression "(operand_types[0].array[0] & 6)" ( (binary_expression "operand_types[0].array[0] & 6" (subscript_expression "operand_types[0].array[0]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n          local_d4 = t->operands;\n          if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;\n        }" { (expression_statement "local_d4 = t->operands;" (assignment_expression "local_d4 = t->operands" identifier = (field_expression "t->operands" identifier -> field_identifier)) ;) (if_statement "if ((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)) goto LAB_0004c397;" if (parenthesized_expression "((((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0))" ( (binary_expression "(((ulonglong)operand_types[1 < local_d4] & 2) != 0) ||\n             (((ulonglong)operand_types[1 < local_d4] & 4) != 0)" (parenthesized_expression "(((ulonglong)operand_types[1 < local_d4] & 2) != 0)" ( (binary_expression "((ulonglong)operand_types[1 < local_d4] & 2) != 0" (parenthesized_expression "((ulonglong)operand_types[1 < local_d4] & 2)" ( (binary_expression "(ulonglong)operand_types[1 < local_d4] & 2" (cast_expression "(ulonglong)operand_types[1 < local_d4]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "operand_types[1 < local_d4]" identifier [ (binary_expression "1 < local_d4" number_literal < identifier) ])) & number_literal) )) != number_literal) )) || (parenthesized_expression "(((ulonglong)operand_types[1 < local_d4] & 4) != 0)" ( (binary_expression "((ulonglong)operand_types[1 < local_d4] & 4) != 0" (parenthesized_expression "((ulonglong)operand_types[1 < local_d4] & 4)" ( (binary_expression "(ulonglong)operand_types[1 < local_d4] & 4" (cast_expression "(ulonglong)operand_types[1 < local_d4]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "operand_types[1 < local_d4]" identifier [ (binary_expression "1 < local_d4" number_literal < identifier) ])) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004c397;" goto statement_identifier ;)) }))) (if_statement "if ((t->base_opcode != 0xfc7) || (t->extension_opcode != 1)) {\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }" if (parenthesized_expression "((t->base_opcode != 0xfc7) || (t->extension_opcode != 1))" ( (binary_expression "(t->base_opcode != 0xfc7) || (t->extension_opcode != 1)" (parenthesized_expression "(t->base_opcode != 0xfc7)" ( (binary_expression "t->base_opcode != 0xfc7" (field_expression "t->base_opcode" identifier -> field_identifier) != number_literal) )) || (parenthesized_expression "(t->extension_opcode != 1)" ( (binary_expression "t->extension_opcode != 1" (field_expression "t->extension_opcode" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\nLAB_0004bea5:\n          local_d8 = ~CODE_32BIT;\n          piVar22 = current_templates->end;\n          piVar32 = t + 1;\n          if (piVar22 <= t + 1) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }" { (labeled_statement "LAB_0004bea5:\n          local_d8 = ~CODE_32BIT;" statement_identifier : (expression_statement "local_d8 = ~CODE_32BIT;" (assignment_expression "local_d8 = ~CODE_32BIT" identifier = (unary_expression "~CODE_32BIT" ~ identifier)) ;)) (expression_statement "piVar22 = current_templates->end;" (assignment_expression "piVar22 = current_templates->end" identifier = (field_expression "current_templates->end" identifier -> field_identifier)) ;) (expression_statement "piVar32 = t + 1;" (assignment_expression "piVar32 = t + 1" identifier = (binary_expression "t + 1" identifier + number_literal)) ;) (if_statement "if (piVar22 <= t + 1) goto LAB_0004bec0;" if (parenthesized_expression "(piVar22 <= t + 1)" ( (binary_expression "piVar22 <= t + 1" identifier <= (binary_expression "t + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0004bec0;" goto statement_identifier ;)) (goto_statement "goto LAB_0004ba5c;" goto statement_identifier ;) })) })))) })) (labeled_statement "LAB_0004c390:\n    local_d4 = t->operands;" statement_identifier : (expression_statement "local_d4 = t->operands;" (assignment_expression "local_d4 = t->operands" identifier = (field_expression "t->operands" identifier -> field_identifier)) ;)) }) (else_clause "else {\n    if ((i.suffix != 'l') || ((cpu_arch_flags.array[0]._0_1_ & 4) != 0)) goto LAB_0004c390;\n    if (intel_syntax == 0) {\n      if ((*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2))\n      goto LAB_0004c390;\n    }\n    else if (((char)(t->opcode_modifier).field_0x1 < '\0') ||\n            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))))\n    goto LAB_0004c390;\n    if ((operand_types[0].array[0] & 6) == 0) goto LAB_0004bea5;\n    local_d4 = t->operands;\n    if ((((ulonglong)operand_types[1 < local_d4] & 2) == 0) &&\n       (((ulonglong)operand_types[1 < local_d4] & 4) == 0)) goto LAB_0004bea5;\n  }" else (compound_statement "{\n    if ((i.suffix != 'l') || ((cpu_arch_flags.array[0]._0_1_ & 4) != 0)) goto LAB_0004c390;\n    if (intel_syntax == 0) {\n      if ((*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2))\n      goto LAB_0004c390;\n    }\n    else if (((char)(t->opcode_modifier).field_0x1 < '\0') ||\n            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))))\n    goto LAB_0004c390;\n    if ((operand_types[0].array[0] & 6) == 0) goto LAB_0004bea5;\n    local_d4 = t->operands;\n    if ((((ulonglong)operand_types[1 < local_d4] & 2) == 0) &&\n       (((ulonglong)operand_types[1 < local_d4] & 4) == 0)) goto LAB_0004bea5;\n  }" { (if_statement "if ((i.suffix != 'l') || ((cpu_arch_flags.array[0]._0_1_ & 4) != 0)) goto LAB_0004c390;" if (parenthesized_expression "((i.suffix != 'l') || ((cpu_arch_flags.array[0]._0_1_ & 4) != 0))" ( (binary_expression "(i.suffix != 'l') || ((cpu_arch_flags.array[0]._0_1_ & 4) != 0)" (parenthesized_expression "(i.suffix != 'l')" ( (binary_expression "i.suffix != 'l'" (field_expression "i.suffix" identifier . field_identifier) != (char_literal "'l'" ' character ')) )) || (parenthesized_expression "((cpu_arch_flags.array[0]._0_1_ & 4) != 0)" ( (binary_expression "(cpu_arch_flags.array[0]._0_1_ & 4) != 0" (parenthesized_expression "(cpu_arch_flags.array[0]._0_1_ & 4)" ( (binary_expression "cpu_arch_flags.array[0]._0_1_ & 4" (field_expression "cpu_arch_flags.array[0]._0_1_" (subscript_expression "cpu_arch_flags.array[0]" (field_expression "cpu_arch_flags.array" identifier . field_identifier) [ number_literal ]) . field_identifier) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004c390;" goto statement_identifier ;)) (if_statement "if (intel_syntax == 0) {\n      if ((*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2))\n      goto LAB_0004c390;\n    }\n    else if (((char)(t->opcode_modifier).field_0x1 < '\0') ||\n            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))))\n    goto LAB_0004c390;" if (parenthesized_expression "(intel_syntax == 0)" ( (binary_expression "intel_syntax == 0" identifier == number_literal) )) (compound_statement "{\n      if ((*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2))\n      goto LAB_0004c390;\n    }" { (if_statement "if ((*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2))\n      goto LAB_0004c390;" if (parenthesized_expression "((*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2))" ( (binary_expression "(*t->name == 'f') && (iVar20 = intel_float_operand(t->name), iVar20 == 2)" (parenthesized_expression "(*t->name == 'f')" ( (binary_expression "*t->name == 'f'" (pointer_expression "*t->name" * (field_expression "t->name" identifier -> field_identifier)) == (char_literal "'f'" ' character ')) )) && (parenthesized_expression "(iVar20 = intel_float_operand(t->name), iVar20 == 2)" ( (comma_expression "iVar20 = intel_float_operand(t->name), iVar20 == 2" (assignment_expression "iVar20 = intel_float_operand(t->name)" identifier = (call_expression "intel_float_operand(t->name)" identifier (argument_list "(t->name)" ( (field_expression "t->name" identifier -> field_identifier) )))) , (binary_expression "iVar20 == 2" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0004c390;" goto statement_identifier ;)) }) (else_clause "else if (((char)(t->opcode_modifier).field_0x1 < '\0') ||\n            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))))\n    goto LAB_0004c390;" else (if_statement "if (((char)(t->opcode_modifier).field_0x1 < '\0') ||\n            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))))\n    goto LAB_0004c390;" if (parenthesized_expression "(((char)(t->opcode_modifier).field_0x1 < '\0') ||\n            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))))" ( (binary_expression "((char)(t->opcode_modifier).field_0x1 < '\0') ||\n            ((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0)))" (parenthesized_expression "((char)(t->opcode_modifier).field_0x1 < '\0')" ( (binary_expression "(char)(t->opcode_modifier).field_0x1 < '\0'" (cast_expression "(char)(t->opcode_modifier).field_0x1" ( (type_descriptor "char" primitive_type) ) (field_expression "(t->opcode_modifier).field_0x1" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0)))" ( (parenthesized_expression "(*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0))" ( (binary_expression "*t->name == 'f' && (iVar20 = intel_float_operand(t->name), iVar20 != 0)" (binary_expression "*t->name == 'f'" (pointer_expression "*t->name" * (field_expression "t->name" identifier -> field_identifier)) == (char_literal "'f'" ' character ')) && (parenthesized_expression "(iVar20 = intel_float_operand(t->name), iVar20 != 0)" ( (comma_expression "iVar20 = intel_float_operand(t->name), iVar20 != 0" (assignment_expression "iVar20 = intel_float_operand(t->name)" identifier = (call_expression "intel_float_operand(t->name)" identifier (argument_list "(t->name)" ( (field_expression "t->name" identifier -> field_identifier) )))) , (binary_expression "iVar20 != 0" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0004c390;" goto statement_identifier ;)))) (if_statement "if ((operand_types[0].array[0] & 6) == 0) goto LAB_0004bea5;" if (parenthesized_expression "((operand_types[0].array[0] & 6) == 0)" ( (binary_expression "(operand_types[0].array[0] & 6) == 0" (parenthesized_expression "(operand_types[0].array[0] & 6)" ( (binary_expression "operand_types[0].array[0] & 6" (subscript_expression "operand_types[0].array[0]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) (expression_statement "local_d4 = t->operands;" (assignment_expression "local_d4 = t->operands" identifier = (field_expression "t->operands" identifier -> field_identifier)) ;) (if_statement "if ((((ulonglong)operand_types[1 < local_d4] & 2) == 0) &&\n       (((ulonglong)operand_types[1 < local_d4] & 4) == 0)) goto LAB_0004bea5;" if (parenthesized_expression "((((ulonglong)operand_types[1 < local_d4] & 2) == 0) &&\n       (((ulonglong)operand_types[1 < local_d4] & 4) == 0))" ( (binary_expression "(((ulonglong)operand_types[1 < local_d4] & 2) == 0) &&\n       (((ulonglong)operand_types[1 < local_d4] & 4) == 0)" (parenthesized_expression "(((ulonglong)operand_types[1 < local_d4] & 2) == 0)" ( (binary_expression "((ulonglong)operand_types[1 < local_d4] & 2) == 0" (parenthesized_expression "((ulonglong)operand_types[1 < local_d4] & 2)" ( (binary_expression "(ulonglong)operand_types[1 < local_d4] & 2" (cast_expression "(ulonglong)operand_types[1 < local_d4]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "operand_types[1 < local_d4]" identifier [ (binary_expression "1 < local_d4" number_literal < identifier) ])) & number_literal) )) == number_literal) )) && (parenthesized_expression "(((ulonglong)operand_types[1 < local_d4] & 4) == 0)" ( (binary_expression "((ulonglong)operand_types[1 < local_d4] & 4) == 0" (parenthesized_expression "((ulonglong)operand_types[1 < local_d4] & 4)" ( (binary_expression "(ulonglong)operand_types[1 < local_d4] & 4" (cast_expression "(ulonglong)operand_types[1 < local_d4]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "operand_types[1 < local_d4]" identifier [ (binary_expression "1 < local_d4" number_literal < identifier) ])) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = ~CODE_32BIT;\n    piVar22 = current_templates->end;\n    goto LAB_0004bec6;\n  }" statement_identifier : (if_statement "if (local_d4 == 0) {\n    local_d8 = ~CODE_32BIT;\n    piVar22 = current_templates->end;\n    goto LAB_0004bec6;\n  }" if (parenthesized_expression "(local_d4 == 0)" ( (binary_expression "local_d4 == 0" identifier == number_literal) )) (compound_statement "{\n    local_d8 = ~CODE_32BIT;\n    piVar22 = current_templates->end;\n    goto LAB_0004bec6;\n  }" { (expression_statement "local_d8 = ~CODE_32BIT;" (assignment_expression "local_d8 = ~CODE_32BIT" identifier = (unary_expression "~CODE_32BIT" ~ identifier)) ;) (expression_statement "piVar22 = current_templates->end;" (assignment_expression "piVar22 = current_templates->end" identifier = (field_expression "current_templates->end" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0004bec6;" goto statement_identifier ;) }))) (expression_statement "local_d8 = ~CODE_32BIT;" (assignment_expression "local_d8 = ~CODE_32BIT" identifier = (unary_expression "~CODE_32BIT" ~ identifier)) ;) (if_statement "if (i.prefix[2] != '\0') {\n    if (flag_code == CODE_16BIT) {\n      local_d8 = CODE_32BIT;\n      do {\n        if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + CODE_16BIT;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = flag_code;\n      if (flag_code == CODE_32BIT) {\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = ~CODE_32BIT;\n        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;\n        local_d8 = CODE_32BIT;\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = ~CODE_32BIT;\n  }" if (parenthesized_expression "(i.prefix[2] != '\0')" ( (binary_expression "i.prefix[2] != '\0'" (subscript_expression "i.prefix[2]" (field_expression "i.prefix" identifier . field_identifier) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (flag_code == CODE_16BIT) {\n      local_d8 = CODE_32BIT;\n      do {\n        if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + CODE_16BIT;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = flag_code;\n      if (flag_code == CODE_32BIT) {\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = ~CODE_32BIT;\n        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;\n        local_d8 = CODE_32BIT;\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = ~CODE_32BIT;\n  }" { (if_statement "if (flag_code == CODE_16BIT) {\n      local_d8 = CODE_32BIT;\n      do {\n        if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + CODE_16BIT;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = flag_code;\n      if (flag_code == CODE_32BIT) {\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = ~CODE_32BIT;\n        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;\n        local_d8 = CODE_32BIT;\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n    }" if (parenthesized_expression "(flag_code == CODE_16BIT)" ( (binary_expression "flag_code == CODE_16BIT" identifier == identifier) )) (compound_statement "{\n      local_d8 = CODE_32BIT;\n      do {\n        if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + CODE_16BIT;\n      } while (local_d8 != 5);\n    }" { (expression_statement "local_d8 = CODE_32BIT;" (assignment_expression "local_d8 = CODE_32BIT" identifier = identifier) ;) (do_statement "do {\n        if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + CODE_16BIT;\n      } while (local_d8 != 5);" do (compound_statement "{\n        if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + CODE_16BIT;\n      }" { (if_statement "if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }" if (parenthesized_expression "((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0)" ( (binary_expression "(*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2) != 0" (parenthesized_expression "(*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2)" ( (binary_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) & 2" (pointer_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)operand_types + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + local_d8 * 8 + 2)" ( (binary_expression "(int)operand_types + local_d8 * 8 + 2" (binary_expression "(int)operand_types + local_d8 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }" { (expression_statement "*(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4;" (assignment_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) =\n               *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4" (pointer_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)operand_types + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + local_d8 * 8 + 2)" ( (binary_expression "(int)operand_types + local_d8 * 8 + 2" (binary_expression "(int)operand_types + local_d8 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 4" (binary_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9" (pointer_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)operand_types + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + local_d8 * 8 + 2)" ( (binary_expression "(int)operand_types + local_d8 * 8 + 2" (binary_expression "(int)operand_types + local_d8 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;) })) (expression_statement "local_d8 = local_d8 + CODE_16BIT;" (assignment_expression "local_d8 = local_d8 + CODE_16BIT" identifier = (binary_expression "local_d8 + CODE_16BIT" identifier + identifier)) ;) }) while (parenthesized_expression "(local_d8 != 5)" ( (binary_expression "local_d8 != 5" identifier != number_literal) )) ;) }) (else_clause "else {\n      local_d8 = flag_code;\n      if (flag_code == CODE_32BIT) {\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = ~CODE_32BIT;\n        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;\n        local_d8 = CODE_32BIT;\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n    }" else (compound_statement "{\n      local_d8 = flag_code;\n      if (flag_code == CODE_32BIT) {\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = ~CODE_32BIT;\n        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;\n        local_d8 = CODE_32BIT;\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n    }" { (expression_statement "local_d8 = flag_code;" (assignment_expression "local_d8 = flag_code" identifier = identifier) ;) (if_statement "if (flag_code == CODE_32BIT) {\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = ~CODE_32BIT;\n        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;\n        local_d8 = CODE_32BIT;\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }" if (parenthesized_expression "(flag_code == CODE_32BIT)" ( (binary_expression "flag_code == CODE_32BIT" identifier == identifier) )) (compound_statement "{\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }" { (do_statement "do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);" do (compound_statement "{\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        }" { (if_statement "if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }" if (parenthesized_expression "((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0)" ( (binary_expression "(*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4) != 0" (parenthesized_expression "(*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4)" ( (binary_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) & 4" (pointer_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)operand_types + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + local_d8 * 8 + 2)" ( (binary_expression "(int)operand_types + local_d8 * 8 + 2" (binary_expression "(int)operand_types + local_d8 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }" { (expression_statement "*(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2;" (assignment_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2" (pointer_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)operand_types + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + local_d8 * 8 + 2)" ( (binary_expression "(int)operand_types + local_d8 * 8 + 2" (binary_expression "(int)operand_types + local_d8 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9 | 2" (binary_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xf9" (pointer_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)operand_types + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + local_d8 * 8 + 2)" ( (binary_expression "(int)operand_types + local_d8 * 8 + 2" (binary_expression "(int)operand_types + local_d8 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;) })) (expression_statement "local_d8 = local_d8 + CODE_16BIT;" (assignment_expression "local_d8 = local_d8 + CODE_16BIT" identifier = (binary_expression "local_d8 + CODE_16BIT" identifier + identifier)) ;) }) while (parenthesized_expression "(local_d8 != 5)" ( (binary_expression "local_d8 != 5" identifier != number_literal) )) ;) }) (else_clause "else {\n        local_d8 = ~CODE_32BIT;\n        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;\n        local_d8 = CODE_32BIT;\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }" else (compound_statement "{\n        local_d8 = ~CODE_32BIT;\n        if (flag_code != CODE_64BIT) goto LAB_0004c3ff;\n        local_d8 = CODE_32BIT;\n        do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);\n      }" { (expression_statement "local_d8 = ~CODE_32BIT;" (assignment_expression "local_d8 = ~CODE_32BIT" identifier = (unary_expression "~CODE_32BIT" ~ identifier)) ;) (if_statement "if (flag_code != CODE_64BIT) goto LAB_0004c3ff;" if (parenthesized_expression "(flag_code != CODE_64BIT)" ( (binary_expression "flag_code != CODE_64BIT" identifier != identifier) )) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;)) (expression_statement "local_d8 = CODE_32BIT;" (assignment_expression "local_d8 = CODE_32BIT" identifier = identifier) ;) (do_statement "do {\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        } while (local_d8 != 5);" do (compound_statement "{\n          if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + CODE_16BIT;\n        }" { (if_statement "if ((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }" if (parenthesized_expression "((*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10)" ( (binary_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0x10" (pointer_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)operand_types + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + local_d8 * 8 + 2)" ( (binary_expression "(int)operand_types + local_d8 * 8 + 2" (binary_expression "(int)operand_types + local_d8 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }" { (expression_statement "*(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4;" (assignment_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) =\n                 *(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4" (pointer_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)operand_types + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + local_d8 * 8 + 2)" ( (binary_expression "(int)operand_types + local_d8 * 8 + 2" (binary_expression "(int)operand_types + local_d8 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb | 4" (binary_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2) & 0xeb" (pointer_expression "*(byte *)((int)operand_types + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)operand_types + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + local_d8 * 8 + 2)" ( (binary_expression "(int)operand_types + local_d8 * 8 + 2" (binary_expression "(int)operand_types + local_d8 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;) })) (expression_statement "local_d8 = local_d8 + CODE_16BIT;" (assignment_expression "local_d8 = local_d8 + CODE_16BIT" identifier = (binary_expression "local_d8 + CODE_16BIT" identifier + identifier)) ;) }) while (parenthesized_expression "(local_d8 != 5)" ( (binary_expression "local_d8 != 5" identifier != number_literal) )) ;) }))) }))) (expression_statement "local_d8 = ~CODE_32BIT;" (assignment_expression "local_d8 = ~CODE_32BIT" identifier = (unary_expression "~CODE_32BIT" ~ identifier)) ;) })) (labeled_statement "LAB_0004c3ff:\n  if ((i.reloc[0] == BFD_RELOC_386_GOT32) && (t->base_opcode == 0xa0)) goto LAB_0004ba48;" statement_identifier : (if_statement "if ((i.reloc[0] == BFD_RELOC_386_GOT32) && (t->base_opcode == 0xa0)) goto LAB_0004ba48;" if (parenthesized_expression "((i.reloc[0] == BFD_RELOC_386_GOT32) && (t->base_opcode == 0xa0))" ( (binary_expression "(i.reloc[0] == BFD_RELOC_386_GOT32) && (t->base_opcode == 0xa0)" (parenthesized_expression "(i.reloc[0] == BFD_RELOC_386_GOT32)" ( (binary_expression "i.reloc[0] == BFD_RELOC_386_GOT32" (subscript_expression "i.reloc[0]" (field_expression "i.reloc" identifier . field_identifier) [ number_literal ]) == identifier) )) && (parenthesized_expression "(t->base_opcode == 0xa0)" ( (binary_expression "t->base_opcode == 0xa0" (field_expression "t->base_opcode" identifier -> field_identifier) == number_literal) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;))) (expression_statement "bVar26 = (t->opcode_modifier).field_0x1;" (assignment_expression "bVar26 = (t->opcode_modifier).field_0x1" identifier = (field_expression "(t->opcode_modifier).field_0x1" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (if_statement "if ((bVar26 & 0x40) != 0) {\n    local_d0 = (1 << ((undefined1)local_d4 & 0x1f)) - 1;\n    if (i.broadcast != (Broadcast_Operation *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)(i.broadcast)->operand & 0x1f));\n    }\n  }" if (parenthesized_expression "((bVar26 & 0x40) != 0)" ( (binary_expression "(bVar26 & 0x40) != 0" (parenthesized_expression "(bVar26 & 0x40)" ( (binary_expression "bVar26 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_d0 = (1 << ((undefined1)local_d4 & 0x1f)) - 1;\n    if (i.broadcast != (Broadcast_Operation *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)(i.broadcast)->operand & 0x1f));\n    }\n  }" { (expression_statement "local_d0 = (1 << ((undefined1)local_d4 & 0x1f)) - 1;" (assignment_expression "local_d0 = (1 << ((undefined1)local_d4 & 0x1f)) - 1" identifier = (binary_expression "(1 << ((undefined1)local_d4 & 0x1f)) - 1" (parenthesized_expression "(1 << ((undefined1)local_d4 & 0x1f))" ( (binary_expression "1 << ((undefined1)local_d4 & 0x1f)" number_literal << (parenthesized_expression "((undefined1)local_d4 & 0x1f)" ( (binary_expression "(undefined1)local_d4 & 0x1f" (cast_expression "(undefined1)local_d4" ( (type_descriptor "undefined1" type_identifier) ) identifier) & number_literal) ))) )) - number_literal)) ;) (if_statement "if (i.broadcast != (Broadcast_Operation *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)(i.broadcast)->operand & 0x1f));\n    }" if (parenthesized_expression "(i.broadcast != (Broadcast_Operation *)0x0)" ( (binary_expression "i.broadcast != (Broadcast_Operation *)0x0" (field_expression "i.broadcast" identifier . field_identifier) != (cast_expression "(Broadcast_Operation *)0x0" ( (type_descriptor "Broadcast_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_d0 = local_d0 & ~(1 << ((byte)(i.broadcast)->operand & 0x1f));\n    }" { (expression_statement "local_d0 = local_d0 & ~(1 << ((byte)(i.broadcast)->operand & 0x1f));" (assignment_expression "local_d0 = local_d0 & ~(1 << ((byte)(i.broadcast)->operand & 0x1f))" identifier = (binary_expression "local_d0 & ~(1 << ((byte)(i.broadcast)->operand & 0x1f))" identifier & (unary_expression "~(1 << ((byte)(i.broadcast)->operand & 0x1f))" ~ (parenthesized_expression "(1 << ((byte)(i.broadcast)->operand & 0x1f))" ( (binary_expression "1 << ((byte)(i.broadcast)->operand & 0x1f)" number_literal << (parenthesized_expression "((byte)(i.broadcast)->operand & 0x1f)" ( (binary_expression "(byte)(i.broadcast)->operand & 0x1f" (field_expression "(byte)(i.broadcast)->operand" (call_expression "(byte)(i.broadcast)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(i.broadcast)" ( (field_expression "i.broadcast" identifier . field_identifier) ))) -> field_identifier) & number_literal) ))) ))))) ;) })) })) (expression_statement "uVar21 = i.types[0].array[0] & operand_types[0].array[0];" (assignment_expression "uVar21 = i.types[0].array[0] & operand_types[0].array[0]" identifier = (binary_expression "i.types[0].array[0] & operand_types[0].array[0]" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[0].array[0]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]))) ;) (expression_statement "bVar19 = (byte)(uVar21 >> 0x10);" (assignment_expression "bVar19 = (byte)(uVar21 >> 0x10)" identifier = (call_expression "(byte)(uVar21 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar21 >> 0x10)" ( (binary_expression "uVar21 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "local_8c = (byte)(uVar21 >> 0x18);" (assignment_expression "local_8c = (byte)(uVar21 >> 0x18)" identifier = (call_expression "(byte)(uVar21 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar21 >> 0x18)" ( (binary_expression "uVar21 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "bVar28 = (byte)((uint)i.types[0]._0_4_ >> 0x18);" (assignment_expression "bVar28 = (byte)((uint)i.types[0]._0_4_ >> 0x18)" identifier = (call_expression "(byte)((uint)i.types[0]._0_4_ >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)i.types[0]._0_4_ >> 0x18)" ( (binary_expression "(uint)i.types[0]._0_4_ >> 0x18" (cast_expression "(uint)i.types[0]._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "i.types[0]._0_4_" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier)) >> number_literal) )))) ;) (expression_statement "bVar2 = (byte)((uint)i.types[1]._0_4_ >> 0x10);" (assignment_expression "bVar2 = (byte)((uint)i.types[1]._0_4_ >> 0x10)" identifier = (call_expression "(byte)((uint)i.types[1]._0_4_ >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)i.types[1]._0_4_ >> 0x10)" ( (binary_expression "(uint)i.types[1]._0_4_ >> 0x10" (cast_expression "(uint)i.types[1]._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "i.types[1]._0_4_" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier)) >> number_literal) )))) ;) (expression_statement "bVar29 = (byte)((uint)i.types[1]._0_4_ >> 0x18);" (assignment_expression "bVar29 = (byte)((uint)i.types[1]._0_4_ >> 0x18)" identifier = (call_expression "(byte)((uint)i.types[1]._0_4_ >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)i.types[1]._0_4_ >> 0x18)" ( (binary_expression "(uint)i.types[1]._0_4_ >> 0x18" (cast_expression "(uint)i.types[1]._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "i.types[1]._0_4_" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier)) >> number_literal) )))) ;) (expression_statement "local_c8 = (byte)i.types[0].array[1];" (assignment_expression "local_c8 = (byte)i.types[0].array[1]" identifier = (cast_expression "(byte)i.types[0].array[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "i.types[0].array[1]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]))) ;) (expression_statement "uVar33 = local_dc;" (assignment_expression "uVar33 = local_dc" identifier = identifier) ;) (switch_statement "switch(local_d4) {\n  default:\n    goto _L2937;\n  case check_warning:\n    if (((uVar21 & 0x1dffffff) != 0 ||\n         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n       (((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0))\n    goto _L2937;\n    goto LAB_0004c880;\n  case check_error:\n    if (flag_code == CODE_64BIT) {\n      if ((((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)) &&\n         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))))\n      goto LAB_0004ba48;\n    }\n    else if (((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&\n            ((i.types[1].array[0] & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (i.dir_encoding != Cpu386) goto _L2938;\n    bVar4 = *(byte *)&t->opcode_modifier;\n    if ((bVar4 & 1) == 0) goto LAB_0004c538;\n    goto LAB_0004c7fc;\n  case check_error|check_warning:\n    break;\n  case 4:\n  case 5:\n    goto _L2938;\n  }" switch (parenthesized_expression "(local_d4)" ( identifier )) (compound_statement "{\n  default:\n    goto _L2937;\n  case check_warning:\n    if (((uVar21 & 0x1dffffff) != 0 ||\n         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n       (((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0))\n    goto _L2937;\n    goto LAB_0004c880;\n  case check_error:\n    if (flag_code == CODE_64BIT) {\n      if ((((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)) &&\n         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))))\n      goto LAB_0004ba48;\n    }\n    else if (((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&\n            ((i.types[1].array[0] & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (i.dir_encoding != Cpu386) goto _L2938;\n    bVar4 = *(byte *)&t->opcode_modifier;\n    if ((bVar4 & 1) == 0) goto LAB_0004c538;\n    goto LAB_0004c7fc;\n  case check_error|check_warning:\n    break;\n  case 4:\n  case 5:\n    goto _L2938;\n  }" { (case_statement "default:\n    goto _L2937;" default : (goto_statement "goto _L2937;" goto statement_identifier ;)) (case_statement "case check_warning:\n    if (((uVar21 & 0x1dffffff) != 0 ||\n         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n       (((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0))\n    goto _L2937;\n    goto LAB_0004c880;" case identifier : (if_statement "if (((uVar21 & 0x1dffffff) != 0 ||\n         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n       (((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0))\n    goto _L2937;" if (parenthesized_expression "(((uVar21 & 0x1dffffff) != 0 ||\n         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n       (((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0))" ( (binary_expression "((uVar21 & 0x1dffffff) != 0 ||\n         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n       (((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0)" (parenthesized_expression "((uVar21 & 0x1dffffff) != 0 ||\n         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0)" ( (binary_expression "(uVar21 & 0x1dffffff) != 0 ||\n         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0" (binary_expression "(uVar21 & 0x1dffffff) != 0" (parenthesized_expression "(uVar21 & 0x1dffffff)" ( (binary_expression "uVar21 & 0x1dffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0" (parenthesized_expression "(i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80)" ( (binary_expression "i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80" (binary_expression "i.types[0].array[1] & operand_types[0].array[1]" (subscript_expression "i.types[0].array[1]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[0].array[1]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) & number_literal) )) != number_literal)) )) && (parenthesized_expression "(((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0)" ( (binary_expression "((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0" (binary_expression "((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40) == 0" (parenthesized_expression "((i.types[0].array[0]._2_1_ ^ bVar19) & 0x40)" ( (binary_expression "(i.types[0].array[0]._2_1_ ^ bVar19) & 0x40" (parenthesized_expression "(i.types[0].array[0]._2_1_ ^ bVar19)" ( (binary_expression "i.types[0].array[0]._2_1_ ^ bVar19" (field_expression "i.types[0].array[0]._2_1_" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) ^ identifier) )) & number_literal) )) == number_literal) && (binary_expression "((bVar28 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar28 ^ local_8c) & 2)" ( (binary_expression "(bVar28 ^ local_8c) & 2" (parenthesized_expression "(bVar28 ^ local_8c)" ( (binary_expression "bVar28 ^ local_8c" identifier ^ identifier) )) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto _L2937;" goto statement_identifier ;)) (goto_statement "goto LAB_0004c880;" goto statement_identifier ;)) (case_statement "case check_error:\n    if (flag_code == CODE_64BIT) {\n      if ((((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)) &&\n         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))))\n      goto LAB_0004ba48;\n    }\n    else if (((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&\n            ((i.types[1].array[0] & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (i.dir_encoding != Cpu386) goto _L2938;\n    bVar4 = *(byte *)&t->opcode_modifier;\n    if ((bVar4 & 1) == 0) goto LAB_0004c538;\n    goto LAB_0004c7fc;" case identifier : (if_statement "if (flag_code == CODE_64BIT) {\n      if ((((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)) &&\n         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))))\n      goto LAB_0004ba48;\n    }\n    else if (((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&\n            ((i.types[1].array[0] & 0x5f0000) != 0)) goto LAB_0004ba48;" if (parenthesized_expression "(flag_code == CODE_64BIT)" ( (binary_expression "flag_code == CODE_64BIT" identifier == identifier) )) (compound_statement "{\n      if ((((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)) &&\n         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))))\n      goto LAB_0004ba48;\n    }" { (if_statement "if ((((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)) &&\n         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))))\n      goto LAB_0004ba48;" if (parenthesized_expression "((((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)) &&\n         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))))" ( (binary_expression "(((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)) &&\n         ((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1])))" (parenthesized_expression "(((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18))" ( (binary_expression "((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&\n          (i.types[0].array[0] == uVar18)" (parenthesized_expression "((t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1]))" ( (binary_expression "(t->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])" (parenthesized_expression "(t->base_opcode == 0x90)" ( (binary_expression "t->base_opcode == 0x90" (field_expression "t->base_opcode" identifier -> field_identifier) == number_literal) )) && (parenthesized_expression "(i.types[0].array[1] == acc32.array[1])" ( (binary_expression "i.types[0].array[1] == acc32.array[1]" (subscript_expression "i.types[0].array[1]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) == (subscript_expression "acc32.array[1]" (field_expression "acc32.array" identifier . field_identifier) [ number_literal ])) ))) )) && (parenthesized_expression "(i.types[0].array[0] == uVar18)" ( (binary_expression "i.types[0].array[0] == uVar18" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) == identifier) ))) )) && (parenthesized_expression "((i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1])))" ( (parenthesized_expression "(i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1]))" ( (binary_expression "i.types[1].array[0] == uVar18 && (i.types[1].array[1] == acc32.array[1])" (binary_expression "i.types[1].array[0] == uVar18" (subscript_expression "i.types[1].array[0]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) == identifier) && (parenthesized_expression "(i.types[1].array[1] == acc32.array[1])" ( (binary_expression "i.types[1].array[1] == acc32.array[1]" (subscript_expression "i.types[1].array[1]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) == (subscript_expression "acc32.array[1]" (field_expression "acc32.array" identifier . field_identifier) [ number_literal ])) ))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) }) (else_clause "else if (((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&\n            ((i.types[1].array[0] & 0x5f0000) != 0)) goto LAB_0004ba48;" else (if_statement "if (((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&\n            ((i.types[1].array[0] & 0x5f0000) != 0)) goto LAB_0004ba48;" if (parenthesized_expression "(((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&\n            ((i.types[1].array[0] & 0x5f0000) != 0))" ( (binary_expression "((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&\n            ((i.types[1].array[0] & 0x5f0000) != 0)" (parenthesized_expression "((i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0))))" ( (binary_expression "(i.hle_prefix != (char *)0x0) &&\n             ((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))" (parenthesized_expression "(i.hle_prefix != (char *)0x0)" ( (binary_expression "i.hle_prefix != (char *)0x0" (field_expression "i.hle_prefix" identifier . field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))" ( (parenthesized_expression "(t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0))" ( (binary_expression "t->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)" (binary_expression "t->base_opcode == 0xa0" (field_expression "t->base_opcode" identifier -> field_identifier) == number_literal) && (parenthesized_expression "((i.types[0].array[0] & 0x200000) != 0)" ( (binary_expression "(i.types[0].array[0] & 0x200000) != 0" (parenthesized_expression "(i.types[0].array[0] & 0x200000)" ( (binary_expression "i.types[0].array[0] & 0x200000" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "((i.types[1].array[0] & 0x5f0000) != 0)" ( (binary_expression "(i.types[1].array[0] & 0x5f0000) != 0" (parenthesized_expression "(i.types[1].array[0] & 0x5f0000)" ( (binary_expression "i.types[1].array[0] & 0x5f0000" (subscript_expression "i.types[1].array[0]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)))) (if_statement "if (i.dir_encoding != Cpu386) goto _L2938;" if (parenthesized_expression "(i.dir_encoding != Cpu386)" ( (binary_expression "i.dir_encoding != Cpu386" (field_expression "i.dir_encoding" identifier . field_identifier) != identifier) )) (goto_statement "goto _L2938;" goto statement_identifier ;)) (expression_statement "bVar4 = *(byte *)&t->opcode_modifier;" (assignment_expression "bVar4 = *(byte *)&t->opcode_modifier" identifier = (pointer_expression "*(byte *)&t->opcode_modifier" * (cast_expression "(byte *)&t->opcode_modifier" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&t->opcode_modifier" & (field_expression "t->opcode_modifier" identifier -> field_identifier))))) ;) (if_statement "if ((bVar4 & 1) == 0) goto LAB_0004c538;" if (parenthesized_expression "((bVar4 & 1) == 0)" ( (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004c538;" goto statement_identifier ;)) (goto_statement "goto LAB_0004c7fc;" goto statement_identifier ;)) (case_statement "case check_error|check_warning:\n    break;" case (binary_expression "check_error|check_warning" identifier | identifier) : (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 5:\n    goto _L2938;" case number_literal : (goto_statement "goto _L2938;" goto statement_identifier ;)) })) (if_statement "if (i.dir_encoding == Cpu386) {\nLAB_0004c538:\n    if ((i.mem_operands == 0) &&\n       ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=\n        (undefined1  [12])0x0)) goto LAB_0004ba48;\n  }" if (parenthesized_expression "(i.dir_encoding == Cpu386)" ( (binary_expression "i.dir_encoding == Cpu386" (field_expression "i.dir_encoding" identifier . field_identifier) == identifier) )) (compound_statement "{\nLAB_0004c538:\n    if ((i.mem_operands == 0) &&\n       ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=\n        (undefined1  [12])0x0)) goto LAB_0004ba48;\n  }" { (labeled_statement "LAB_0004c538:\n    if ((i.mem_operands == 0) &&\n       ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=\n        (undefined1  [12])0x0)) goto LAB_0004ba48;" statement_identifier : (if_statement "if ((i.mem_operands == 0) &&\n       ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=\n        (undefined1  [12])0x0)) goto LAB_0004ba48;" if (parenthesized_expression "((i.mem_operands == 0) &&\n       ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=\n        (undefined1  [12])0x0))" ( (binary_expression "(i.mem_operands == 0) &&\n       ((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=\n        (undefined1  [12])0x0)" (parenthesized_expression "(i.mem_operands == 0)" ( (binary_expression "i.mem_operands == 0" (field_expression "i.mem_operands" identifier . field_identifier) == number_literal) )) && (parenthesized_expression "((undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=\n        (undefined1  [12])0x0)" ( (binary_expression "(undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4) !=\n        (undefined1  [12])0x0" (call_expression "(undefined1  [12])((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4)" (parenthesized_expression "(undefined1  [12])" ( (subscript_expression "undefined1  [12]" identifier [ number_literal ]) )) (argument_list "((undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4)" ( (binary_expression "(undefined1  [12])t->opcode_modifier & (undefined1  [12])0x4" (cast_expression "(undefined1  [12])t->opcode_modifier" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) (field_expression "t->opcode_modifier" identifier -> field_identifier)) & (cast_expression "(undefined1  [12])0x4" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) number_literal)) ))) != (cast_expression "(undefined1  [12])0x0" ( (type_descriptor "undefined1  [12]" type_identifier (abstract_array_declarator "[12]" [ number_literal ])) ) number_literal)) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;))) })) (labeled_statement "_L2938:\n  if (((uVar21 & 0x1dffffff) != 0 ||\n       (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n     (((((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))) &&\n         ((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))))) {\n        i.error = register_type_mismatch;\n        goto LAB_0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\nLAB_0004d03b:\n      local_98 = i.types[3].array[1] & operand_types[3].array[1];\n      local_a4 = i.types[3].array[0] & operand_types[3].array[0];\nLAB_0004d05d:\n      local_9c = i.types[2].array[1] & operand_types[2].array[1];\n      local_a0 = operand_types[2].array[0] & i.types[2].array[0];\n    }\n    else {\n      if (local_d4 == 5) {\n        local_94 = i.types[4].array[1] & operand_types[4].array[1];\n        local_90 = i.types[4].array[0] & operand_types[4].array[0];\n        goto LAB_0004d03b;\n      }\n      if (local_d4 == 3) goto LAB_0004d05d;\n    }\n    if (local_d4 == 4) {\nLAB_0004d3b2:\n      if (((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)) {\n        uVar21 = i.types[3].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);\n        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto _L2937;\nLAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }\n    }\nLAB_0004c880:\n    i.error = operand_type_mismatch;\n    goto LAB_0004ba48;\n  }" statement_identifier : (if_statement "if (((uVar21 & 0x1dffffff) != 0 ||\n       (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n     (((((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))) &&\n         ((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))))) {\n        i.error = register_type_mismatch;\n        goto LAB_0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\nLAB_0004d03b:\n      local_98 = i.types[3].array[1] & operand_types[3].array[1];\n      local_a4 = i.types[3].array[0] & operand_types[3].array[0];\nLAB_0004d05d:\n      local_9c = i.types[2].array[1] & operand_types[2].array[1];\n      local_a0 = operand_types[2].array[0] & i.types[2].array[0];\n    }\n    else {\n      if (local_d4 == 5) {\n        local_94 = i.types[4].array[1] & operand_types[4].array[1];\n        local_90 = i.types[4].array[0] & operand_types[4].array[0];\n        goto LAB_0004d03b;\n      }\n      if (local_d4 == 3) goto LAB_0004d05d;\n    }\n    if (local_d4 == 4) {\nLAB_0004d3b2:\n      if (((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)) {\n        uVar21 = i.types[3].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);\n        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto _L2937;\nLAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }\n    }\nLAB_0004c880:\n    i.error = operand_type_mismatch;\n    goto LAB_0004ba48;\n  }" if (parenthesized_expression "(((uVar21 & 0x1dffffff) != 0 ||\n       (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n     (((((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))))" ( (binary_expression "((uVar21 & 0x1dffffff) != 0 ||\n       (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&\n     (((((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)))" (parenthesized_expression "((uVar21 & 0x1dffffff) != 0 ||\n       (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0)" ( (binary_expression "(uVar21 & 0x1dffffff) != 0 ||\n       (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0" (binary_expression "(uVar21 & 0x1dffffff) != 0" (parenthesized_expression "(uVar21 & 0x1dffffff)" ( (binary_expression "uVar21 & 0x1dffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0" (parenthesized_expression "(i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80)" ( (binary_expression "i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80" (binary_expression "i.types[0].array[1] & operand_types[0].array[1]" (subscript_expression "i.types[0].array[1]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[0].array[1]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) & number_literal) )) != number_literal)) )) && (parenthesized_expression "(((((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)))" ( (parenthesized_expression "((((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))" ( (binary_expression "(((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)" (parenthesized_expression "(((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0))" ( (binary_expression "((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0 &&\n       (uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)" (binary_expression "((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((bVar28 ^ local_8c) & 2) == 0" (binary_expression "((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40) == 0" (parenthesized_expression "((bVar19 ^ i.types[0].array[0]._2_1_) & 0x40)" ( (binary_expression "(bVar19 ^ i.types[0].array[0]._2_1_) & 0x40" (parenthesized_expression "(bVar19 ^ i.types[0].array[0]._2_1_)" ( (binary_expression "bVar19 ^ i.types[0].array[0]._2_1_" identifier ^ (field_expression "i.types[0].array[0]._2_1_" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) )) & number_literal) )) == number_literal) && (binary_expression "((bVar28 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar28 ^ local_8c) & 2)" ( (binary_expression "(bVar28 ^ local_8c) & 2" (parenthesized_expression "(bVar28 ^ local_8c)" ( (binary_expression "bVar28 ^ local_8c" identifier ^ identifier) )) & number_literal) )) == number_literal)) && (parenthesized_expression "(uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)" ( (comma_expression "uVar21 = i.types[1].array[0] & operand_types[1].array[0],\n       (uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0" (assignment_expression "uVar21 = i.types[1].array[0] & operand_types[1].array[0]" identifier = (binary_expression "i.types[1].array[0] & operand_types[1].array[0]" (subscript_expression "i.types[1].array[0]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[1].array[0]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]))) , (binary_expression "(uVar21 & 0x1dffffff) != 0 ||\n       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0" (binary_expression "(uVar21 & 0x1dffffff) != 0" (parenthesized_expression "(uVar21 & 0x1dffffff)" ( (binary_expression "uVar21 & 0x1dffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0" (parenthesized_expression "(i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80)" ( (binary_expression "i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80" (binary_expression "i.types[1].array[1] & operand_types[1].array[1]" (subscript_expression "i.types[1].array[1]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[1].array[1]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) & number_literal) )) != number_literal))) ))) )) && (parenthesized_expression "(local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)" ( (comma_expression "local_8c = (byte)(uVar21 >> 0x18),\n      (((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0" (assignment_expression "local_8c = (byte)(uVar21 >> 0x18)" identifier = (call_expression "(byte)(uVar21 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar21 >> 0x18)" ( (binary_expression "uVar21 >> 0x18" identifier >> number_literal) )))) , (binary_expression "(((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0" (binary_expression "(((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40) == 0" (parenthesized_expression "(((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40)" ( (binary_expression "((byte)(uVar21 >> 0x10) ^ bVar2) & 0x40" (parenthesized_expression "((byte)(uVar21 >> 0x10) ^ bVar2)" ( (binary_expression "(byte)(uVar21 >> 0x10) ^ bVar2" (call_expression "(byte)(uVar21 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar21 >> 0x10)" ( (binary_expression "uVar21 >> 0x10" identifier >> number_literal) ))) ^ identifier) )) & number_literal) )) == number_literal) && (binary_expression "((bVar29 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar29 ^ local_8c) & 2)" ( (binary_expression "(bVar29 ^ local_8c) & 2" (parenthesized_expression "(bVar29 ^ local_8c)" ( (binary_expression "bVar29 ^ local_8c" identifier ^ identifier) )) & number_literal) )) == number_literal))) ))) )) ))) )) (compound_statement "{\n    if ((local_d0 & 3) == 3) {\n      if ((((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))) &&\n         ((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))))) {\n        i.error = register_type_mismatch;\n        goto LAB_0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\nLAB_0004d03b:\n      local_98 = i.types[3].array[1] & operand_types[3].array[1];\n      local_a4 = i.types[3].array[0] & operand_types[3].array[0];\nLAB_0004d05d:\n      local_9c = i.types[2].array[1] & operand_types[2].array[1];\n      local_a0 = operand_types[2].array[0] & i.types[2].array[0];\n    }\n    else {\n      if (local_d4 == 5) {\n        local_94 = i.types[4].array[1] & operand_types[4].array[1];\n        local_90 = i.types[4].array[0] & operand_types[4].array[0];\n        goto LAB_0004d03b;\n      }\n      if (local_d4 == 3) goto LAB_0004d05d;\n    }\n    if (local_d4 == 4) {\nLAB_0004d3b2:\n      if (((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)) {\n        uVar21 = i.types[3].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);\n        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto _L2937;\nLAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }\n    }\nLAB_0004c880:\n    i.error = operand_type_mismatch;\n    goto LAB_0004ba48;\n  }" { (if_statement "if ((local_d0 & 3) == 3) {\n      if ((((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))) &&\n         ((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))))) {\n        i.error = register_type_mismatch;\n        goto LAB_0004c7ec;\n      }\n    }" if (parenthesized_expression "((local_d0 & 3) == 3)" ( (binary_expression "(local_d0 & 3) == 3" (parenthesized_expression "(local_d0 & 3)" ( (binary_expression "local_d0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))) &&\n         ((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))))) {\n        i.error = register_type_mismatch;\n        goto LAB_0004c7ec;\n      }\n    }" { (if_statement "if ((((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))) &&\n         ((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))))) {\n        i.error = register_type_mismatch;\n        goto LAB_0004c7ec;\n      }" if (parenthesized_expression "((((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))) &&\n         ((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0))))))))))" ( (binary_expression "(((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))) &&\n         ((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))))" (parenthesized_expression "(((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0))))" ( (binary_expression "((i.types[0].array[0] & 5) != 0) ||\n          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))" (parenthesized_expression "((i.types[0].array[0] & 5) != 0)" ( (binary_expression "(i.types[0].array[0] & 5) != 0" (parenthesized_expression "(i.types[0].array[0] & 5)" ( (binary_expression "i.types[0].array[0] & 5" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)))" ( (parenthesized_expression "(((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0))" ( (binary_expression "((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n           ((operand_types[0].array[0] & 4) != 0)" (parenthesized_expression "((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0))" ( (binary_expression "(i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)" (binary_expression "(i.types[0].array[0] >> 0x10 & 0x5f) != 0" (parenthesized_expression "(i.types[0].array[0] >> 0x10 & 0x5f)" ( (binary_expression "i.types[0].array[0] >> 0x10 & 0x5f" (binary_expression "i.types[0].array[0] >> 0x10" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((i.types[0].array[1] & 0x40) == 0)" ( (binary_expression "(i.types[0].array[1] & 0x40) == 0" (parenthesized_expression "(i.types[0].array[1] & 0x40)" ( (binary_expression "i.types[0].array[1] & 0x40" (subscript_expression "i.types[0].array[1]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((operand_types[0].array[0] & 4) != 0)" ( (binary_expression "(operand_types[0].array[0] & 4) != 0" (parenthesized_expression "(operand_types[0].array[0] & 4)" ( (binary_expression "operand_types[0].array[0] & 4" (subscript_expression "operand_types[0].array[0]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "((((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))))" ( (parenthesized_expression "(((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0))))))))" ( (binary_expression "((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))) &&\n          ((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))" (parenthesized_expression "((i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0))))" ( (binary_expression "(i.types[1].array[0] & 5) != 0 ||\n           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))" (binary_expression "(i.types[1].array[0] & 5) != 0" (parenthesized_expression "(i.types[1].array[0] & 5)" ( (binary_expression "i.types[1].array[0] & 5" (subscript_expression "i.types[1].array[0]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) || (parenthesized_expression "((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)))" ( (parenthesized_expression "(((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0))" ( (binary_expression "((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n            ((operand_types[1].array[0] & 4) != 0)" (parenthesized_expression "((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0))" ( (binary_expression "(i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)" (binary_expression "(i.types[1].array[0] >> 0x10 & 0x5f) != 0" (parenthesized_expression "(i.types[1].array[0] >> 0x10 & 0x5f)" ( (binary_expression "i.types[1].array[0] >> 0x10 & 0x5f" (binary_expression "i.types[1].array[0] >> 0x10" (subscript_expression "i.types[1].array[0]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((i.types[1].array[1] & 0x40) == 0)" ( (binary_expression "(i.types[1].array[1] & 0x40) == 0" (parenthesized_expression "(i.types[1].array[1] & 0x40)" ( (binary_expression "i.types[1].array[1] & 0x40" (subscript_expression "i.types[1].array[1]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((operand_types[1].array[0] & 4) != 0)" ( (binary_expression "(operand_types[1].array[0] & 4) != 0" (parenthesized_expression "(operand_types[1].array[0] & 4)" ( (binary_expression "operand_types[1].array[0] & 4" (subscript_expression "operand_types[1].array[0]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "((((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))))" ( (parenthesized_expression "(((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0))))))" ( (binary_expression "((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )) && (((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))" (parenthesized_expression "((char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            ))" ( (binary_expression "(char)(bVar29 ^ bVar28) < '\0' ||\n            (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )" (binary_expression "(char)(bVar29 ^ bVar28) < '\0'" (cast_expression "(char)(bVar29 ^ bVar28)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bVar29 ^ bVar28)" ( (binary_expression "bVar29 ^ bVar28" identifier ^ identifier) ))) < (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0\n            )" ( (binary_expression "((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar29 ^ bVar28) & 0x60) != 0" (binary_expression "((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0" (parenthesized_expression "((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a)" ( (binary_expression "(local_c8 ^ (byte)i.types[1].array[1]) & 0x3a" (parenthesized_expression "(local_c8 ^ (byte)i.types[1].array[1])" ( (binary_expression "local_c8 ^ (byte)i.types[1].array[1]" identifier ^ (cast_expression "(byte)i.types[1].array[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "i.types[1].array[1]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]))) )) & number_literal) )) != number_literal) || (binary_expression "((bVar29 ^ bVar28) & 0x60) != 0" (parenthesized_expression "((bVar29 ^ bVar28) & 0x60)" ( (binary_expression "(bVar29 ^ bVar28) & 0x60" (parenthesized_expression "(bVar29 ^ bVar28)" ( (binary_expression "bVar29 ^ bVar28" identifier ^ identifier) )) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "(((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))))" ( (parenthesized_expression "((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0))))" ( (binary_expression "(((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||\n                   (((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))" (parenthesized_expression "(((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0))))" ( (binary_expression "((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0 || (((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))" (binary_expression "((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)\n                     != 0" (parenthesized_expression "((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)" ( (binary_expression "(byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1" (binary_expression "(byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5" (binary_expression "(byte)operand_types[1]._3_1_ >> 5 & 1" (binary_expression "(byte)operand_types[1]._3_1_ >> 5" (cast_expression "(byte)operand_types[1]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._3_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[0]._3_1_ >> 5" (cast_expression "(byte)operand_types[0]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._3_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "(((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)))" ( (parenthesized_expression "((((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0))" ( (binary_expression "(((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')) ||\n                              (((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)" (parenthesized_expression "(((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0'))" ( (binary_expression "((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0 ||\n                               ((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')" (binary_expression "((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1) != 0" (parenthesized_expression "((byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1)" ( (binary_expression "(byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6 & 1" (binary_expression "(byte)operand_types[1]._3_1_ >> 6 & 1 &\n                                (byte)operand_types[0]._3_1_ >> 6" (binary_expression "(byte)operand_types[1]._3_1_ >> 6 & 1" (binary_expression "(byte)operand_types[1]._3_1_ >> 6" (cast_expression "(byte)operand_types[1]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._3_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[0]._3_1_ >> 6" (cast_expression "(byte)operand_types[0]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._3_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0')" ( (binary_expression "(char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_) < '\0'" (cast_expression "(char)(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_)" ( (binary_expression "operand_types[1].array[0]._3_1_ &\n                                      operand_types[0].array[0]._3_1_" (field_expression "operand_types[1].array[0]._3_1_" (subscript_expression "operand_types[1].array[0]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) & (field_expression "operand_types[0].array[0]._3_1_" (subscript_expression "operand_types[0].array[0]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) ))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0)" ( (binary_expression "((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1) != 0" (parenthesized_expression "((byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1)" ( (binary_expression "(byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1 & 1" (binary_expression "(byte)operand_types[0]._4_1_ >> 1 & 1 &\n                               (byte)operand_types[1]._4_1_ >> 1" (binary_expression "(byte)operand_types[0]._4_1_ >> 1 & 1" (binary_expression "(byte)operand_types[0]._4_1_ >> 1" (cast_expression "(byte)operand_types[0]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._4_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[1]._4_1_ >> 1" (cast_expression "(byte)operand_types[1]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._4_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)))" ( (parenthesized_expression "((((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0))" ( (binary_expression "(((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)) ||\n                    (((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)" (parenthesized_expression "(((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0))" ( (binary_expression "((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0 ||\n                     (((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)" (binary_expression "((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      ) != 0" (parenthesized_expression "((byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1\n                      )" ( (binary_expression "(byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3 & 1" (binary_expression "(byte)operand_types[1]._4_1_ >> 3 & 1 & (byte)operand_types[0]._4_1_ >> 3" (binary_expression "(byte)operand_types[1]._4_1_ >> 3 & 1" (binary_expression "(byte)operand_types[1]._4_1_ >> 3" (cast_expression "(byte)operand_types[1]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._4_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[0]._4_1_ >> 3" (cast_expression "(byte)operand_types[0]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._4_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "(((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0)" ( (binary_expression "((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      ) != 0" (parenthesized_expression "((byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1\n                      )" ( (binary_expression "(byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4 & 1" (binary_expression "(byte)operand_types[0]._4_1_ >> 4 & 1 & (byte)operand_types[1]._4_1_ >> 4" (binary_expression "(byte)operand_types[0]._4_1_ >> 4 & 1" (binary_expression "(byte)operand_types[0]._4_1_ >> 4" (cast_expression "(byte)operand_types[0]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._4_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[1]._4_1_ >> 4" (cast_expression "(byte)operand_types[1]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._4_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0)" ( (binary_expression "((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)\n                     != 0" (parenthesized_expression "((byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1)" ( (binary_expression "(byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5 & 1" (binary_expression "(byte)operand_types[1]._4_1_ >> 5 & 1 & (byte)operand_types[0]._4_1_ >> 5" (binary_expression "(byte)operand_types[1]._4_1_ >> 5 & 1" (binary_expression "(byte)operand_types[1]._4_1_ >> 5" (cast_expression "(byte)operand_types[1]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._4_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[0]._4_1_ >> 5" (cast_expression "(byte)operand_types[0]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._4_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n        i.error = register_type_mismatch;\n        goto LAB_0004c7ec;\n      }" { (expression_statement "i.error = register_type_mismatch;" (assignment_expression "i.error = register_type_mismatch" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (goto_statement "goto LAB_0004c7ec;" goto statement_identifier ;) })) })) (if_statement "if (local_d4 == 4) {\nLAB_0004d03b:\n      local_98 = i.types[3].array[1] & operand_types[3].array[1];\n      local_a4 = i.types[3].array[0] & operand_types[3].array[0];\nLAB_0004d05d:\n      local_9c = i.types[2].array[1] & operand_types[2].array[1];\n      local_a0 = operand_types[2].array[0] & i.types[2].array[0];\n    }\n    else {\n      if (local_d4 == 5) {\n        local_94 = i.types[4].array[1] & operand_types[4].array[1];\n        local_90 = i.types[4].array[0] & operand_types[4].array[0];\n        goto LAB_0004d03b;\n      }\n      if (local_d4 == 3) goto LAB_0004d05d;\n    }" if (parenthesized_expression "(local_d4 == 4)" ( (binary_expression "local_d4 == 4" identifier == number_literal) )) (compound_statement "{\nLAB_0004d03b:\n      local_98 = i.types[3].array[1] & operand_types[3].array[1];\n      local_a4 = i.types[3].array[0] & operand_types[3].array[0];\nLAB_0004d05d:\n      local_9c = i.types[2].array[1] & operand_types[2].array[1];\n      local_a0 = operand_types[2].array[0] & i.types[2].array[0];\n    }" { (labeled_statement "LAB_0004d03b:\n      local_98 = i.types[3].array[1] & operand_types[3].array[1];" statement_identifier : (expression_statement "local_98 = i.types[3].array[1] & operand_types[3].array[1];" (assignment_expression "local_98 = i.types[3].array[1] & operand_types[3].array[1]" identifier = (binary_expression "i.types[3].array[1] & operand_types[3].array[1]" (subscript_expression "i.types[3].array[1]" (field_expression "i.types[3].array" (subscript_expression "i.types[3]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[3].array[1]" (field_expression "operand_types[3].array" (subscript_expression "operand_types[3]" identifier [ number_literal ]) . field_identifier) [ number_literal ]))) ;)) (expression_statement "local_a4 = i.types[3].array[0] & operand_types[3].array[0];" (assignment_expression "local_a4 = i.types[3].array[0] & operand_types[3].array[0]" identifier = (binary_expression "i.types[3].array[0] & operand_types[3].array[0]" (subscript_expression "i.types[3].array[0]" (field_expression "i.types[3].array" (subscript_expression "i.types[3]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[3].array[0]" (field_expression "operand_types[3].array" (subscript_expression "operand_types[3]" identifier [ number_literal ]) . field_identifier) [ number_literal ]))) ;) (labeled_statement "LAB_0004d05d:\n      local_9c = i.types[2].array[1] & operand_types[2].array[1];" statement_identifier : (expression_statement "local_9c = i.types[2].array[1] & operand_types[2].array[1];" (assignment_expression "local_9c = i.types[2].array[1] & operand_types[2].array[1]" identifier = (binary_expression "i.types[2].array[1] & operand_types[2].array[1]" (subscript_expression "i.types[2].array[1]" (field_expression "i.types[2].array" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[2].array[1]" (field_expression "operand_types[2].array" (subscript_expression "operand_types[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ]))) ;)) (expression_statement "local_a0 = operand_types[2].array[0] & i.types[2].array[0];" (assignment_expression "local_a0 = operand_types[2].array[0] & i.types[2].array[0]" identifier = (binary_expression "operand_types[2].array[0] & i.types[2].array[0]" (subscript_expression "operand_types[2].array[0]" (field_expression "operand_types[2].array" (subscript_expression "operand_types[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "i.types[2].array[0]" (field_expression "i.types[2].array" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]))) ;) }) (else_clause "else {\n      if (local_d4 == 5) {\n        local_94 = i.types[4].array[1] & operand_types[4].array[1];\n        local_90 = i.types[4].array[0] & operand_types[4].array[0];\n        goto LAB_0004d03b;\n      }\n      if (local_d4 == 3) goto LAB_0004d05d;\n    }" else (compound_statement "{\n      if (local_d4 == 5) {\n        local_94 = i.types[4].array[1] & operand_types[4].array[1];\n        local_90 = i.types[4].array[0] & operand_types[4].array[0];\n        goto LAB_0004d03b;\n      }\n      if (local_d4 == 3) goto LAB_0004d05d;\n    }" { (if_statement "if (local_d4 == 5) {\n        local_94 = i.types[4].array[1] & operand_types[4].array[1];\n        local_90 = i.types[4].array[0] & operand_types[4].array[0];\n        goto LAB_0004d03b;\n      }" if (parenthesized_expression "(local_d4 == 5)" ( (binary_expression "local_d4 == 5" identifier == number_literal) )) (compound_statement "{\n        local_94 = i.types[4].array[1] & operand_types[4].array[1];\n        local_90 = i.types[4].array[0] & operand_types[4].array[0];\n        goto LAB_0004d03b;\n      }" { (expression_statement "local_94 = i.types[4].array[1] & operand_types[4].array[1];" (assignment_expression "local_94 = i.types[4].array[1] & operand_types[4].array[1]" identifier = (binary_expression "i.types[4].array[1] & operand_types[4].array[1]" (subscript_expression "i.types[4].array[1]" (field_expression "i.types[4].array" (subscript_expression "i.types[4]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[4].array[1]" (field_expression "operand_types[4].array" (subscript_expression "operand_types[4]" identifier [ number_literal ]) . field_identifier) [ number_literal ]))) ;) (expression_statement "local_90 = i.types[4].array[0] & operand_types[4].array[0];" (assignment_expression "local_90 = i.types[4].array[0] & operand_types[4].array[0]" identifier = (binary_expression "i.types[4].array[0] & operand_types[4].array[0]" (subscript_expression "i.types[4].array[0]" (field_expression "i.types[4].array" (subscript_expression "i.types[4]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[4].array[0]" (field_expression "operand_types[4].array" (subscript_expression "operand_types[4]" identifier [ number_literal ]) . field_identifier) [ number_literal ]))) ;) (goto_statement "goto LAB_0004d03b;" goto statement_identifier ;) })) (if_statement "if (local_d4 == 3) goto LAB_0004d05d;" if (parenthesized_expression "(local_d4 == 3)" ( (binary_expression "local_d4 == 3" identifier == number_literal) )) (goto_statement "goto LAB_0004d05d;" goto statement_identifier ;)) }))) (if_statement "if (local_d4 == 4) {\nLAB_0004d3b2:\n      if (((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)) {\n        uVar21 = i.types[3].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);\n        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto _L2937;\nLAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }\n    }" if (parenthesized_expression "(local_d4 == 4)" ( (binary_expression "local_d4 == 4" identifier == number_literal) )) (compound_statement "{\nLAB_0004d3b2:\n      if (((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)) {\n        uVar21 = i.types[3].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);\n        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }\n      }\n    }" { (labeled_statement "LAB_0004d3b2:\n      if (((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)) {\n        uVar21 = i.types[3].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);\n        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }\n      }" statement_identifier : (if_statement "if (((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)) {\n        uVar21 = i.types[3].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);\n        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }\n      }" if (parenthesized_expression "(((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0))" ( (binary_expression "((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0) ||\n          ((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)" (parenthesized_expression "((local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0)" ( (binary_expression "(local_a4 & 0xffffff) != 0 || (local_a4 >> 0x18 & 0x1d) != 0" (binary_expression "(local_a4 & 0xffffff) != 0" (parenthesized_expression "(local_a4 & 0xffffff)" ( (binary_expression "local_a4 & 0xffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(local_a4 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(local_a4 >> 0x18 & 0x1d)" ( (binary_expression "local_a4 >> 0x18 & 0x1d" (binary_expression "local_a4 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal)) )) || (parenthesized_expression "((local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0)" ( (binary_expression "(local_98 & 0x80) != 0 || (local_98 & 0xffffff00) != 0" (binary_expression "(local_98 & 0x80) != 0" (parenthesized_expression "(local_98 & 0x80)" ( (binary_expression "local_98 & 0x80" identifier & number_literal) )) != number_literal) || (binary_expression "(local_98 & 0xffffff00) != 0" (parenthesized_expression "(local_98 & 0xffffff00)" ( (binary_expression "local_98 & 0xffffff00" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        uVar21 = i.types[3].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);\n        if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }\n      }" { (expression_statement "uVar21 = i.types[3].array[0] >> 0x18;" (assignment_expression "uVar21 = i.types[3].array[0] >> 0x18" identifier = (binary_expression "i.types[3].array[0] >> 0x18" (subscript_expression "i.types[3].array[0]" (field_expression "i.types[3].array" (subscript_expression "i.types[3]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) >> number_literal)) ;) (expression_statement "local_d4._0_1_ = (undefined1)(local_a4 >> 0x18);" (assignment_expression "local_d4._0_1_ = (undefined1)(local_a4 >> 0x18)" (field_expression "local_d4._0_1_" identifier . field_identifier) = (call_expression "(undefined1)(local_a4 >> 0x18)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "(local_a4 >> 0x18)" ( (binary_expression "local_a4 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }" if (parenthesized_expression "((((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0)" ( (binary_expression "(((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0" (binary_expression "(((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40)" ( (binary_expression "((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)) & 0x40" (parenthesized_expression "((byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10))" ( (binary_expression "(byte)(local_a4 >> 0x10) ^ (byte)((uint)i.types[3]._0_4_ >> 0x10)" (call_expression "(byte)(local_a4 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_a4 >> 0x10)" ( (binary_expression "local_a4 >> 0x10" identifier >> number_literal) ))) ^ (call_expression "(byte)((uint)i.types[3]._0_4_ >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)i.types[3]._0_4_ >> 0x10)" ( (binary_expression "(uint)i.types[3]._0_4_ >> 0x10" (cast_expression "(uint)i.types[3]._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "i.types[3]._0_4_" (subscript_expression "i.types[3]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier)) >> number_literal) )))) )) & number_literal) )) == number_literal) && (binary_expression "(((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0" (parenthesized_expression "(((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2)" ( (binary_expression "((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2" (parenthesized_expression "((byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4)" ( (binary_expression "(byte)((uint)i.types[3]._0_4_ >> 0x18) ^ (undefined1)local_d4" (call_expression "(byte)((uint)i.types[3]._0_4_ >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)i.types[3]._0_4_ >> 0x18)" ( (binary_expression "(uint)i.types[3]._0_4_ >> 0x18" (cast_expression "(uint)i.types[3]._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "i.types[3]._0_4_" (subscript_expression "i.types[3]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier)) >> number_literal) ))) ^ (cast_expression "(undefined1)local_d4" ( (type_descriptor "undefined1" type_identifier) ) identifier)) )) & number_literal) )) == number_literal)) )) (compound_statement "{\n          if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;\n          goto LAB_0004d445;\n        }" { (if_statement "if ((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))) goto LAB_0004ba48;" if (parenthesized_expression "((((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0))))" ( (binary_expression "(((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))" (parenthesized_expression "(((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0))" ( (binary_expression "((local_d0 & 10) == 10) &&\n              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)" (parenthesized_expression "((local_d0 & 10) == 10)" ( (binary_expression "(local_d0 & 10) == 10" (parenthesized_expression "(local_d0 & 10)" ( (binary_expression "local_d0 & 10" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0)" ( (comma_expression "t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0" (assignment_expression "t0_02.array[1] = i.types[3].array[1]" (subscript_expression "t0_02.array[1]" (field_expression "t0_02.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "i.types[3].array[1]" (field_expression "i.types[3].array" (subscript_expression "i.types[3]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "t0_02.array[0] = i.types[3].array[0],\n              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0" (assignment_expression "t0_02.array[0] = i.types[3].array[0]" (subscript_expression "t0_02.array[0]" (field_expression "t0_02.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "i.types[3].array[0]" (field_expression "i.types[3].array" (subscript_expression "i.types[3]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0" (assignment_expression "g0_02.array[1] = operand_types[1].array[1]" (subscript_expression "g0_02.array[1]" (field_expression "g0_02.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[1].array[1]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g0_02.array[0] = operand_types[1].array[0]\n              , g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0" (assignment_expression "g0_02.array[0] = operand_types[1].array[0]" (subscript_expression "g0_02.array[0]" (field_expression "g0_02.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[1].array[0]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g1_02.array[1] = operand_types[3].array[1],\n              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0" (assignment_expression "g1_02.array[1] = operand_types[3].array[1]" (subscript_expression "g1_02.array[1]" (field_expression "g1_02.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[3].array[1]" (field_expression "operand_types[3].array" (subscript_expression "operand_types[3]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0" (assignment_expression "g1_02.array[0] = operand_types[3].array[0]" (subscript_expression "g1_02.array[0]" (field_expression "g1_02.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[3].array[0]" (field_expression "operand_types[3].array" (subscript_expression "operand_types[3]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "t1_02.array[1] = uVar21,\n              t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0" (assignment_expression "t1_02.array[1] = uVar21" (subscript_expression "t1_02.array[1]" (field_expression "t1_02.array" identifier . field_identifier) [ number_literal ]) = identifier) , (comma_expression "t1_02.array[0] = uVar21, iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0" (assignment_expression "t1_02.array[0] = uVar21" (subscript_expression "t1_02.array[0]" (field_expression "t1_02.array" identifier . field_identifier) [ number_literal ]) = identifier) , (comma_expression "iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)\n              , uVar21 = extraout_ECX, iVar20 == 0" (assignment_expression "iVar20 = operand_type_register_match(g0_02,t0_02,g1_02,t1_02)" identifier = (call_expression "operand_type_register_match(g0_02,t0_02,g1_02,t1_02)" identifier (argument_list "(g0_02,t0_02,g1_02,t1_02)" ( identifier , identifier , identifier , identifier )))) , (comma_expression "uVar21 = extraout_ECX, iVar20 == 0" (assignment_expression "uVar21 = extraout_ECX" identifier = identifier) , (binary_expression "iVar20 == 0" identifier == number_literal))))))))))) ))) )) || (parenthesized_expression "(((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)))" ( (parenthesized_expression "((local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0))" ( (binary_expression "(local_d0 & 0xc) == 0xc &&\n              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)" (binary_expression "(local_d0 & 0xc) == 0xc" (parenthesized_expression "(local_d0 & 0xc)" ( (binary_expression "local_d0 & 0xc" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0)" ( (comma_expression "t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0" (assignment_expression "t0_01.array[1] = i.types[3].array[1]" (subscript_expression "t0_01.array[1]" (field_expression "t0_01.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "i.types[3].array[1]" (field_expression "i.types[3].array" (subscript_expression "i.types[3]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "t0_01.array[0] = i.types[3].array[0],\n              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0" (assignment_expression "t0_01.array[0] = i.types[3].array[0]" (subscript_expression "t0_01.array[0]" (field_expression "t0_01.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "i.types[3].array[0]" (field_expression "i.types[3].array" (subscript_expression "i.types[3]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0" (assignment_expression "g0_01.array[1] = operand_types[2].array[1]" (subscript_expression "g0_01.array[1]" (field_expression "g0_01.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[2].array[1]" (field_expression "operand_types[2].array" (subscript_expression "operand_types[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g0_01.array[0] = operand_types[2].array[0]\n              , g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0" (assignment_expression "g0_01.array[0] = operand_types[2].array[0]" (subscript_expression "g0_01.array[0]" (field_expression "g0_01.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[2].array[0]" (field_expression "operand_types[2].array" (subscript_expression "operand_types[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g1_01.array[1] = operand_types[3].array[1],\n              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0" (assignment_expression "g1_01.array[1] = operand_types[3].array[1]" (subscript_expression "g1_01.array[1]" (field_expression "g1_01.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[3].array[1]" (field_expression "operand_types[3].array" (subscript_expression "operand_types[3]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0" (assignment_expression "g1_01.array[0] = operand_types[3].array[0]" (subscript_expression "g1_01.array[0]" (field_expression "g1_01.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[3].array[0]" (field_expression "operand_types[3].array" (subscript_expression "operand_types[3]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "t1_01.array[1] = uVar21,\n              t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0" (assignment_expression "t1_01.array[1] = uVar21" (subscript_expression "t1_01.array[1]" (field_expression "t1_01.array" identifier . field_identifier) [ number_literal ]) = identifier) , (comma_expression "t1_01.array[0] = uVar21, iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0" (assignment_expression "t1_01.array[0] = uVar21" (subscript_expression "t1_01.array[0]" (field_expression "t1_01.array" identifier . field_identifier) [ number_literal ]) = identifier) , (comma_expression "iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)\n              , iVar20 == 0" (assignment_expression "iVar20 = operand_type_register_match(g0_01,t0_01,g1_01,t1_01)" identifier = (call_expression "operand_type_register_match(g0_01,t0_01,g1_01,t1_01)" identifier (argument_list "(g0_01,t0_01,g1_01,t1_01)" ( identifier , identifier , identifier , identifier )))) , (binary_expression "iVar20 == 0" identifier == number_literal)))))))))) ))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (goto_statement "goto LAB_0004d445;" goto statement_identifier ;) })) }))) }) (else_clause "else if (local_d4 == 5) {\n      if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto _L2937;\nLAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }\n    }" else (if_statement "if (local_d4 == 5) {\n      if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto _L2937;\nLAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }\n    }" if (parenthesized_expression "(local_d4 == 5)" ( (binary_expression "local_d4 == 5" identifier == number_literal) )) (compound_statement "{\n      if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }\n    }" { (if_statement "if (((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }" if (parenthesized_expression "(((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0))" ( (binary_expression "((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0) ||\n          ((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)" (parenthesized_expression "((local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0)" ( (binary_expression "(local_90 & 0xffffff) != 0 || (local_90 >> 0x18 & 0x1d) != 0" (binary_expression "(local_90 & 0xffffff) != 0" (parenthesized_expression "(local_90 & 0xffffff)" ( (binary_expression "local_90 & 0xffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(local_90 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(local_90 >> 0x18 & 0x1d)" ( (binary_expression "local_90 >> 0x18 & 0x1d" (binary_expression "local_90 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal)) )) || (parenthesized_expression "((local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0)" ( (binary_expression "(local_94 & 0x80) != 0 || (local_94 & 0xffffff00) != 0" (binary_expression "(local_94 & 0x80) != 0" (parenthesized_expression "(local_94 & 0x80)" ( (binary_expression "local_94 & 0x80" identifier & number_literal) )) != number_literal) || (binary_expression "(local_94 & 0xffffff00) != 0" (parenthesized_expression "(local_94 & 0xffffff00)" ( (binary_expression "local_94 & 0xffffff00" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        local_d4._0_1_ = (undefined1)(local_90 >> 0x18);\n        if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }\n      }" { (expression_statement "local_d4._0_1_ = (undefined1)(local_90 >> 0x18);" (assignment_expression "local_d4._0_1_ = (undefined1)(local_90 >> 0x18)" (field_expression "local_d4._0_1_" identifier . field_identifier) = (call_expression "(undefined1)(local_90 >> 0x18)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "(local_90 >> 0x18)" ( (binary_expression "local_90 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }" if (parenthesized_expression "((((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0)" ( (binary_expression "(((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0" (binary_expression "(((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40)" ( (binary_expression "((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)) & 0x40" (parenthesized_expression "((byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10))" ( (binary_expression "(byte)(local_90 >> 0x10) ^ (byte)((uint)i.types[4]._0_4_ >> 0x10)" (call_expression "(byte)(local_90 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_90 >> 0x10)" ( (binary_expression "local_90 >> 0x10" identifier >> number_literal) ))) ^ (call_expression "(byte)((uint)i.types[4]._0_4_ >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)i.types[4]._0_4_ >> 0x10)" ( (binary_expression "(uint)i.types[4]._0_4_ >> 0x10" (cast_expression "(uint)i.types[4]._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "i.types[4]._0_4_" (subscript_expression "i.types[4]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier)) >> number_literal) )))) )) & number_literal) )) == number_literal) && (binary_expression "(((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0" (parenthesized_expression "(((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2)" ( (binary_expression "((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2" (parenthesized_expression "((byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4)" ( (binary_expression "(byte)((uint)i.types[4]._0_4_ >> 0x18) ^ (undefined1)local_d4" (call_expression "(byte)((uint)i.types[4]._0_4_ >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)i.types[4]._0_4_ >> 0x18)" ( (binary_expression "(uint)i.types[4]._0_4_ >> 0x18" (cast_expression "(uint)i.types[4]._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "i.types[4]._0_4_" (subscript_expression "i.types[4]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier)) >> number_literal) ))) ^ (cast_expression "(undefined1)local_d4" ( (type_descriptor "undefined1" type_identifier) ) identifier)) )) & number_literal) )) == number_literal)) )) (compound_statement "{\n          t0_03.array[1] = i.types[4].array[1];\n          t0_03.array[0] = i.types[4].array[0];\n          g0.array[1] = operand_types[3].array[1];\n          g0.array[0] = operand_types[3].array[0];\n          g1.array[1] = operand_types[4].array[1];\n          g1.array[0] = operand_types[4].array[0];\n          t1.array[1] = i.types[4].array[0] >> 0x18;\n          t1.array[0] = i.types[4].array[0] >> 0x18;\n          iVar20 = operand_type_register_match(g0,t0_03,g1,t1);\n          if (iVar20 == 0) goto LAB_0004ba48;\n          goto LAB_0004d3b2;\n        }" { (expression_statement "t0_03.array[1] = i.types[4].array[1];" (assignment_expression "t0_03.array[1] = i.types[4].array[1]" (subscript_expression "t0_03.array[1]" (field_expression "t0_03.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "i.types[4].array[1]" (field_expression "i.types[4].array" (subscript_expression "i.types[4]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "t0_03.array[0] = i.types[4].array[0];" (assignment_expression "t0_03.array[0] = i.types[4].array[0]" (subscript_expression "t0_03.array[0]" (field_expression "t0_03.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "i.types[4].array[0]" (field_expression "i.types[4].array" (subscript_expression "i.types[4]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "g0.array[1] = operand_types[3].array[1];" (assignment_expression "g0.array[1] = operand_types[3].array[1]" (subscript_expression "g0.array[1]" (field_expression "g0.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[3].array[1]" (field_expression "operand_types[3].array" (subscript_expression "operand_types[3]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "g0.array[0] = operand_types[3].array[0];" (assignment_expression "g0.array[0] = operand_types[3].array[0]" (subscript_expression "g0.array[0]" (field_expression "g0.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[3].array[0]" (field_expression "operand_types[3].array" (subscript_expression "operand_types[3]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "g1.array[1] = operand_types[4].array[1];" (assignment_expression "g1.array[1] = operand_types[4].array[1]" (subscript_expression "g1.array[1]" (field_expression "g1.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[4].array[1]" (field_expression "operand_types[4].array" (subscript_expression "operand_types[4]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "g1.array[0] = operand_types[4].array[0];" (assignment_expression "g1.array[0] = operand_types[4].array[0]" (subscript_expression "g1.array[0]" (field_expression "g1.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[4].array[0]" (field_expression "operand_types[4].array" (subscript_expression "operand_types[4]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "t1.array[1] = i.types[4].array[0] >> 0x18;" (assignment_expression "t1.array[1] = i.types[4].array[0] >> 0x18" (subscript_expression "t1.array[1]" (field_expression "t1.array" identifier . field_identifier) [ number_literal ]) = (binary_expression "i.types[4].array[0] >> 0x18" (subscript_expression "i.types[4].array[0]" (field_expression "i.types[4].array" (subscript_expression "i.types[4]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) >> number_literal)) ;) (expression_statement "t1.array[0] = i.types[4].array[0] >> 0x18;" (assignment_expression "t1.array[0] = i.types[4].array[0] >> 0x18" (subscript_expression "t1.array[0]" (field_expression "t1.array" identifier . field_identifier) [ number_literal ]) = (binary_expression "i.types[4].array[0] >> 0x18" (subscript_expression "i.types[4].array[0]" (field_expression "i.types[4].array" (subscript_expression "i.types[4]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) >> number_literal)) ;) (expression_statement "iVar20 = operand_type_register_match(g0,t0_03,g1,t1);" (assignment_expression "iVar20 = operand_type_register_match(g0,t0_03,g1,t1)" identifier = (call_expression "operand_type_register_match(g0,t0_03,g1,t1)" identifier (argument_list "(g0,t0_03,g1,t1)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar20 == 0) goto LAB_0004ba48;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (goto_statement "goto LAB_0004d3b2;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      if (local_d4 != 3) goto _L2937;\nLAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }\n    }" else (compound_statement "{\n      if (local_d4 != 3) goto _L2937;\nLAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }\n    }" { (if_statement "if (local_d4 != 3) goto _L2937;" if (parenthesized_expression "(local_d4 != 3)" ( (binary_expression "local_d4 != 3" identifier != number_literal) )) (goto_statement "goto _L2937;" goto statement_identifier ;)) (labeled_statement "LAB_0004d445:\n      if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }" statement_identifier : (if_statement "if (((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)) {\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }" if (parenthesized_expression "(((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0))" ( (binary_expression "((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0) ||\n          ((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)" (parenthesized_expression "((local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0)" ( (binary_expression "(local_a0 & 0xffffff) != 0 || (local_a0 >> 0x18 & 0x1d) != 0" (binary_expression "(local_a0 & 0xffffff) != 0" (parenthesized_expression "(local_a0 & 0xffffff)" ( (binary_expression "local_a0 & 0xffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(local_a0 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(local_a0 >> 0x18 & 0x1d)" ( (binary_expression "local_a0 >> 0x18 & 0x1d" (binary_expression "local_a0 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal)) )) || (parenthesized_expression "((local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0)" ( (binary_expression "(local_9c & 0x80) != 0 || (local_9c & 0xffffff00) != 0" (binary_expression "(local_9c & 0x80) != 0" (parenthesized_expression "(local_9c & 0x80)" ( (binary_expression "local_9c & 0x80" identifier & number_literal) )) != number_literal) || (binary_expression "(local_9c & 0xffffff00) != 0" (parenthesized_expression "(local_9c & 0xffffff00)" ( (binary_expression "local_9c & 0xffffff00" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        uVar21 = i.types[2].array[0] >> 0x18;\n        local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);\n        if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }\n      }" { (expression_statement "uVar21 = i.types[2].array[0] >> 0x18;" (assignment_expression "uVar21 = i.types[2].array[0] >> 0x18" identifier = (binary_expression "i.types[2].array[0] >> 0x18" (subscript_expression "i.types[2].array[0]" (field_expression "i.types[2].array" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) >> number_literal)) ;) (expression_statement "local_d4._0_1_ = (undefined1)(local_a0 >> 0x18);" (assignment_expression "local_d4._0_1_ = (undefined1)(local_a0 >> 0x18)" (field_expression "local_d4._0_1_" identifier . field_identifier) = (call_expression "(undefined1)(local_a0 >> 0x18)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "(local_a0 >> 0x18)" ( (binary_expression "local_a0 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }" if (parenthesized_expression "((((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0)" ( (binary_expression "(((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&\n            (((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0" (binary_expression "(((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40)" ( (binary_expression "((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)) & 0x40" (parenthesized_expression "((byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10))" ( (binary_expression "(byte)(local_a0 >> 0x10) ^ (byte)((uint)i.types[2]._0_4_ >> 0x10)" (call_expression "(byte)(local_a0 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(local_a0 >> 0x10)" ( (binary_expression "local_a0 >> 0x10" identifier >> number_literal) ))) ^ (call_expression "(byte)((uint)i.types[2]._0_4_ >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)i.types[2]._0_4_ >> 0x10)" ( (binary_expression "(uint)i.types[2]._0_4_ >> 0x10" (cast_expression "(uint)i.types[2]._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "i.types[2]._0_4_" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier)) >> number_literal) )))) )) & number_literal) )) == number_literal) && (binary_expression "(((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2) == 0" (parenthesized_expression "(((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2)" ( (binary_expression "((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4) & 2" (parenthesized_expression "((byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4)" ( (binary_expression "(byte)((uint)i.types[2]._0_4_ >> 0x18) ^ (undefined1)local_d4" (call_expression "(byte)((uint)i.types[2]._0_4_ >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)i.types[2]._0_4_ >> 0x18)" ( (binary_expression "(uint)i.types[2]._0_4_ >> 0x18" (cast_expression "(uint)i.types[2]._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "i.types[2]._0_4_" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier)) >> number_literal) ))) ^ (cast_expression "(undefined1)local_d4" ( (type_descriptor "undefined1" type_identifier) ) identifier)) )) & number_literal) )) == number_literal)) )) (compound_statement "{\n          if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;\n          goto _L2937;\n        }" { (if_statement "if ((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))) goto LAB_0004ba48;" if (parenthesized_expression "((((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0))))" ( (binary_expression "(((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)) ||\n             (((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))" (parenthesized_expression "(((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0))" ( (binary_expression "((local_d0 & 5) == 5) &&\n              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)" (parenthesized_expression "((local_d0 & 5) == 5)" ( (binary_expression "(local_d0 & 5) == 5" (parenthesized_expression "(local_d0 & 5)" ( (binary_expression "local_d0 & 5" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0)" ( (comma_expression "t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0" (assignment_expression "t0_00.array[1] = i.types[2].array[1]" (subscript_expression "t0_00.array[1]" (field_expression "t0_00.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "i.types[2].array[1]" (field_expression "i.types[2].array" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "t0_00.array[0] = i.types[2].array[0],\n              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0" (assignment_expression "t0_00.array[0] = i.types[2].array[0]" (subscript_expression "t0_00.array[0]" (field_expression "t0_00.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "i.types[2].array[0]" (field_expression "i.types[2].array" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0" (assignment_expression "g0_03.array[1] = operand_types[0].array[1]" (subscript_expression "g0_03.array[1]" (field_expression "g0_03.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[0].array[1]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g0_03.array[0] = operand_types[0].array[0]\n              , g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0" (assignment_expression "g0_03.array[0] = operand_types[0].array[0]" (subscript_expression "g0_03.array[0]" (field_expression "g0_03.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[0].array[0]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g1_03.array[1] = operand_types[2].array[1],\n              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0" (assignment_expression "g1_03.array[1] = operand_types[2].array[1]" (subscript_expression "g1_03.array[1]" (field_expression "g1_03.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[2].array[1]" (field_expression "operand_types[2].array" (subscript_expression "operand_types[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0" (assignment_expression "g1_03.array[0] = operand_types[2].array[0]" (subscript_expression "g1_03.array[0]" (field_expression "g1_03.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[2].array[0]" (field_expression "operand_types[2].array" (subscript_expression "operand_types[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "t1_03.array[1] = uVar21,\n              t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0" (assignment_expression "t1_03.array[1] = uVar21" (subscript_expression "t1_03.array[1]" (field_expression "t1_03.array" identifier . field_identifier) [ number_literal ]) = identifier) , (comma_expression "t1_03.array[0] = uVar21, iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0" (assignment_expression "t1_03.array[0] = uVar21" (subscript_expression "t1_03.array[0]" (field_expression "t1_03.array" identifier . field_identifier) [ number_literal ]) = identifier) , (comma_expression "iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)\n              , uVar21 = extraout_ECX_00, iVar20 == 0" (assignment_expression "iVar20 = operand_type_register_match(g0_03,t0_00,g1_03,t1_03)" identifier = (call_expression "operand_type_register_match(g0_03,t0_00,g1_03,t1_03)" identifier (argument_list "(g0_03,t0_00,g1_03,t1_03)" ( identifier , identifier , identifier , identifier )))) , (comma_expression "uVar21 = extraout_ECX_00, iVar20 == 0" (assignment_expression "uVar21 = extraout_ECX_00" identifier = identifier) , (binary_expression "iVar20 == 0" identifier == number_literal))))))))))) ))) )) || (parenthesized_expression "(((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)))" ( (parenthesized_expression "((local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0))" ( (binary_expression "(local_d0 & 6) == 6 &&\n              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)" (binary_expression "(local_d0 & 6) == 6" (parenthesized_expression "(local_d0 & 6)" ( (binary_expression "local_d0 & 6" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0)" ( (comma_expression "t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0" (assignment_expression "t0.array[1] = i.types[2].array[1]" (subscript_expression "t0.array[1]" (field_expression "t0.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "i.types[2].array[1]" (field_expression "i.types[2].array" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "t0.array[0] = i.types[2].array[0],\n              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0" (assignment_expression "t0.array[0] = i.types[2].array[0]" (subscript_expression "t0.array[0]" (field_expression "t0.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "i.types[2].array[0]" (field_expression "i.types[2].array" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0" (assignment_expression "g0_00.array[1] = operand_types[1].array[1]" (subscript_expression "g0_00.array[1]" (field_expression "g0_00.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[1].array[1]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g0_00.array[0] = operand_types[1].array[0]\n              , g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0" (assignment_expression "g0_00.array[0] = operand_types[1].array[0]" (subscript_expression "g0_00.array[0]" (field_expression "g0_00.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[1].array[0]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g1_00.array[1] = operand_types[2].array[1],\n              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0" (assignment_expression "g1_00.array[1] = operand_types[2].array[1]" (subscript_expression "g1_00.array[1]" (field_expression "g1_00.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[2].array[1]" (field_expression "operand_types[2].array" (subscript_expression "operand_types[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0" (assignment_expression "g1_00.array[0] = operand_types[2].array[0]" (subscript_expression "g1_00.array[0]" (field_expression "g1_00.array" identifier . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[2].array[0]" (field_expression "operand_types[2].array" (subscript_expression "operand_types[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) , (comma_expression "t1_00.array[1] = uVar21,\n              t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0" (assignment_expression "t1_00.array[1] = uVar21" (subscript_expression "t1_00.array[1]" (field_expression "t1_00.array" identifier . field_identifier) [ number_literal ]) = identifier) , (comma_expression "t1_00.array[0] = uVar21, iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0" (assignment_expression "t1_00.array[0] = uVar21" (subscript_expression "t1_00.array[0]" (field_expression "t1_00.array" identifier . field_identifier) [ number_literal ]) = identifier) , (comma_expression "iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00),\n              iVar20 == 0" (assignment_expression "iVar20 = operand_type_register_match(g0_00,t0,g1_00,t1_00)" identifier = (call_expression "operand_type_register_match(g0_00,t0,g1_00,t1_00)" identifier (argument_list "(g0_00,t0,g1_00,t1_00)" ( identifier , identifier , identifier , identifier )))) , (binary_expression "iVar20 == 0" identifier == number_literal)))))))))) ))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (goto_statement "goto _L2937;" goto statement_identifier ;) })) }))) }))))) (labeled_statement "LAB_0004c880:\n    i.error = operand_type_mismatch;" statement_identifier : (expression_statement "i.error = operand_type_mismatch;" (assignment_expression "i.error = operand_type_mismatch" (field_expression "i.error" identifier . field_identifier) = identifier) ;)) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) }))) (expression_statement "i.error = operand_type_mismatch;" (assignment_expression "i.error = operand_type_mismatch" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (labeled_statement "LAB_0004c7ec:\n  bVar4 = *(byte *)&t->opcode_modifier;" statement_identifier : (expression_statement "bVar4 = *(byte *)&t->opcode_modifier;" (assignment_expression "bVar4 = *(byte *)&t->opcode_modifier" identifier = (pointer_expression "*(byte *)&t->opcode_modifier" * (cast_expression "(byte *)&t->opcode_modifier" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&t->opcode_modifier" & (field_expression "t->opcode_modifier" identifier -> field_identifier))))) ;)) (if_statement "if ((bVar4 & 1) == 0) goto LAB_0004ba48;" if (parenthesized_expression "((bVar4 & 1) == 0)" ( (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (labeled_statement "LAB_0004c7fc:\n  uVar33 = i.types[0].array[0] & operand_types[1].array[0];" statement_identifier : (expression_statement "uVar33 = i.types[0].array[0] & operand_types[1].array[0];" (assignment_expression "uVar33 = i.types[0].array[0] & operand_types[1].array[0]" identifier = (binary_expression "i.types[0].array[0] & operand_types[1].array[0]" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[1].array[0]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]))) ;)) (if_statement "if (((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00) == 0 &&\n      (i.types[0].array[1] & operand_types[1].array[1] & 0x80) == 0)) goto LAB_0004c880;" if (parenthesized_expression "(((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00) == 0 &&\n      (i.types[0].array[1] & operand_types[1].array[1] & 0x80) == 0))" ( (binary_expression "((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00) == 0 &&\n      (i.types[0].array[1] & operand_types[1].array[1] & 0x80) == 0)" (parenthesized_expression "((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0)" ( (binary_expression "(uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0" (binary_expression "(uVar33 & 0xffffff) == 0" (parenthesized_expression "(uVar33 & 0xffffff)" ( (binary_expression "uVar33 & 0xffffff" identifier & number_literal) )) == number_literal) && (binary_expression "(uVar33 >> 0x18 & 0x1d) == 0" (parenthesized_expression "(uVar33 >> 0x18 & 0x1d)" ( (binary_expression "uVar33 >> 0x18 & 0x1d" (binary_expression "uVar33 >> 0x18" identifier >> number_literal) & number_literal) )) == number_literal)) )) && (parenthesized_expression "((i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00) == 0 &&\n      (i.types[0].array[1] & operand_types[1].array[1] & 0x80) == 0)" ( (binary_expression "(i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00) == 0 &&\n      (i.types[0].array[1] & operand_types[1].array[1] & 0x80) == 0" (binary_expression "(i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00) == 0" (parenthesized_expression "(i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00)" ( (binary_expression "i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00" (binary_expression "i.types[0].array[1] & operand_types[1].array[1]" (subscript_expression "i.types[0].array[1]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[1].array[1]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) & number_literal) )) == number_literal) && (binary_expression "(i.types[0].array[1] & operand_types[1].array[1] & 0x80) == 0" (parenthesized_expression "(i.types[0].array[1] & operand_types[1].array[1] & 0x80)" ( (binary_expression "i.types[0].array[1] & operand_types[1].array[1] & 0x80" (binary_expression "i.types[0].array[1] & operand_types[1].array[1]" (subscript_expression "i.types[0].array[1]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "operand_types[1].array[1]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0004c880;" goto statement_identifier ;)) (expression_statement "local_c0 = (byte)(uVar33 >> 0x18);" (assignment_expression "local_c0 = (byte)(uVar33 >> 0x18)" identifier = (call_expression "(byte)(uVar33 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar33 >> 0x18)" ( (binary_expression "uVar33 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||\n        ((bVar28 ^ local_c0) & 2) != 0) ||\n      (uVar33 = operand_types[0].array[0] & i.types[1].array[0],\n      ((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar33 >> 0x18),\n     (((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40) != 0 || ((bVar29 ^ local_c0) & 2) != 0))\n  goto LAB_0004c880;" if (parenthesized_expression "((((((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||\n        ((bVar28 ^ local_c0) & 2) != 0) ||\n      (uVar33 = operand_types[0].array[0] & i.types[1].array[0],\n      ((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar33 >> 0x18),\n     (((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40) != 0 || ((bVar29 ^ local_c0) & 2) != 0))" ( (binary_expression "(((((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||\n        ((bVar28 ^ local_c0) & 2) != 0) ||\n      (uVar33 = operand_types[0].array[0] & i.types[1].array[0],\n      ((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar33 >> 0x18),\n     (((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40) != 0 || ((bVar29 ^ local_c0) & 2) != 0)" (parenthesized_expression "(((((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||\n        ((bVar28 ^ local_c0) & 2) != 0) ||\n      (uVar33 = operand_types[0].array[0] & i.types[1].array[0],\n      ((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0)))" ( (binary_expression "((((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||\n        ((bVar28 ^ local_c0) & 2) != 0) ||\n      (uVar33 = operand_types[0].array[0] & i.types[1].array[0],\n      ((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0))" (parenthesized_expression "((((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||\n        ((bVar28 ^ local_c0) & 2) != 0)" ( (binary_expression "(((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||\n        ((bVar28 ^ local_c0) & 2) != 0" (binary_expression "(((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0" (parenthesized_expression "(((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40)" ( (binary_expression "((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40" (parenthesized_expression "((byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_)" ( (binary_expression "(byte)(uVar33 >> 0x10) ^ i.types[0].array[0]._2_1_" (call_expression "(byte)(uVar33 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar33 >> 0x10)" ( (binary_expression "uVar33 >> 0x10" identifier >> number_literal) ))) ^ (field_expression "i.types[0].array[0]._2_1_" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) )) & number_literal) )) != number_literal) || (binary_expression "((bVar28 ^ local_c0) & 2) != 0" (parenthesized_expression "((bVar28 ^ local_c0) & 2)" ( (binary_expression "(bVar28 ^ local_c0) & 2" (parenthesized_expression "(bVar28 ^ local_c0)" ( (binary_expression "bVar28 ^ local_c0" identifier ^ identifier) )) & number_literal) )) != number_literal)) )) || (parenthesized_expression "(uVar33 = operand_types[0].array[0] & i.types[1].array[0],\n      ((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0))" ( (comma_expression "uVar33 = operand_types[0].array[0] & i.types[1].array[0],\n      ((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0)" (assignment_expression "uVar33 = operand_types[0].array[0] & i.types[1].array[0]" identifier = (binary_expression "operand_types[0].array[0] & i.types[1].array[0]" (subscript_expression "operand_types[0].array[0]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "i.types[1].array[0]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]))) , (binary_expression "((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0) &&\n      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0)" (parenthesized_expression "((uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0)" ( (binary_expression "(uVar33 & 0xffffff) == 0 && (uVar33 >> 0x18 & 0x1d) == 0" (binary_expression "(uVar33 & 0xffffff) == 0" (parenthesized_expression "(uVar33 & 0xffffff)" ( (binary_expression "uVar33 & 0xffffff" identifier & number_literal) )) == number_literal) && (binary_expression "(uVar33 >> 0x18 & 0x1d) == 0" (parenthesized_expression "(uVar33 >> 0x18 & 0x1d)" ( (binary_expression "uVar33 >> 0x18 & 0x1d" (binary_expression "uVar33 >> 0x18" identifier >> number_literal) & number_literal) )) == number_literal)) )) && (parenthesized_expression "((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0)" ( (binary_expression "(operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&\n      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0" (binary_expression "(operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0" (parenthesized_expression "(operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00)" ( (binary_expression "operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00" (binary_expression "operand_types[0].array[1] & i.types[1].array[1]" (subscript_expression "operand_types[0].array[1]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "i.types[1].array[1]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) & number_literal) )) == number_literal) && (binary_expression "(operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0" (parenthesized_expression "(operand_types[0].array[1] & i.types[1].array[1] & 0x80)" ( (binary_expression "operand_types[0].array[1] & i.types[1].array[1] & 0x80" (binary_expression "operand_types[0].array[1] & i.types[1].array[1]" (subscript_expression "operand_types[0].array[1]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & (subscript_expression "i.types[1].array[1]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ])) & number_literal) )) == number_literal)) )))) ))) )) || (parenthesized_expression "(local_c0 = (byte)(uVar33 >> 0x18),\n     (((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40) != 0 || ((bVar29 ^ local_c0) & 2) != 0)" ( (comma_expression "local_c0 = (byte)(uVar33 >> 0x18),\n     (((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40) != 0 || ((bVar29 ^ local_c0) & 2) != 0" (assignment_expression "local_c0 = (byte)(uVar33 >> 0x18)" identifier = (call_expression "(byte)(uVar33 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar33 >> 0x18)" ( (binary_expression "uVar33 >> 0x18" identifier >> number_literal) )))) , (binary_expression "(((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40) != 0 || ((bVar29 ^ local_c0) & 2) != 0" (binary_expression "(((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40) != 0" (parenthesized_expression "(((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40)" ( (binary_expression "((byte)(uVar33 >> 0x10) ^ bVar2) & 0x40" (parenthesized_expression "((byte)(uVar33 >> 0x10) ^ bVar2)" ( (binary_expression "(byte)(uVar33 >> 0x10) ^ bVar2" (call_expression "(byte)(uVar33 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar33 >> 0x10)" ( (binary_expression "uVar33 >> 0x10" identifier >> number_literal) ))) ^ identifier) )) & number_literal) )) != number_literal) || (binary_expression "((bVar29 ^ local_c0) & 2) != 0" (parenthesized_expression "((bVar29 ^ local_c0) & 2)" ( (binary_expression "(bVar29 ^ local_c0) & 2" (parenthesized_expression "(bVar29 ^ local_c0)" ( (binary_expression "bVar29 ^ local_c0" identifier ^ identifier) )) & number_literal) )) != number_literal))) ))) )) (goto_statement "goto LAB_0004c880;" goto statement_identifier ;)) (if_statement "if (local_d0 != 0) {\n    if (((((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))) &&\n        (((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))))) &&\n       ((((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))\n        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )))))) {\n      i.error = register_type_mismatch;\n      goto LAB_0004ba48;\n    }\n  }" if (parenthesized_expression "(local_d0 != 0)" ( (binary_expression "local_d0 != 0" identifier != number_literal) )) (compound_statement "{\n    if (((((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))) &&\n        (((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))))) &&\n       ((((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))\n        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )))))) {\n      i.error = register_type_mismatch;\n      goto LAB_0004ba48;\n    }\n  }" { (if_statement "if (((((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))) &&\n        (((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))))) &&\n       ((((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))\n        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )))))) {\n      i.error = register_type_mismatch;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "(((((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))) &&\n        (((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))))) &&\n       ((((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))\n        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            ))))))" ( (binary_expression "((((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))) &&\n        (((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))))) &&\n       ((((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))\n        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )))))" (parenthesized_expression "((((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))) &&\n        (((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0))))))" ( (binary_expression "(((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))) &&\n        (((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))))" (parenthesized_expression "(((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0))))" ( (binary_expression "((i.types[0].array[0] & 5) != 0) ||\n         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))" (parenthesized_expression "((i.types[0].array[0] & 5) != 0)" ( (binary_expression "(i.types[0].array[0] & 5) != 0" (parenthesized_expression "(i.types[0].array[0] & 5)" ( (binary_expression "i.types[0].array[0] & 5" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)))" ( (parenthesized_expression "(((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0))" ( (binary_expression "((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&\n          ((operand_types[1].array[0] & 4) != 0)" (parenthesized_expression "((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0))" ( (binary_expression "(i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)" (binary_expression "(i.types[0].array[0] >> 0x10 & 0x5f) != 0" (parenthesized_expression "(i.types[0].array[0] >> 0x10 & 0x5f)" ( (binary_expression "i.types[0].array[0] >> 0x10 & 0x5f" (binary_expression "i.types[0].array[0] >> 0x10" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((i.types[0].array[1] & 0x40) == 0)" ( (binary_expression "(i.types[0].array[1] & 0x40) == 0" (parenthesized_expression "(i.types[0].array[1] & 0x40)" ( (binary_expression "i.types[0].array[1] & 0x40" (subscript_expression "i.types[0].array[1]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((operand_types[1].array[0] & 4) != 0)" ( (binary_expression "(operand_types[1].array[0] & 4) != 0" (parenthesized_expression "(operand_types[1].array[0] & 4)" ( (binary_expression "operand_types[1].array[0] & 4" (subscript_expression "operand_types[1].array[0]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "(((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))))" ( (parenthesized_expression "((i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0))))" ( (binary_expression "(i.types[1].array[0] & 5) != 0 ||\n         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))" (binary_expression "(i.types[1].array[0] & 5) != 0" (parenthesized_expression "(i.types[1].array[0] & 5)" ( (binary_expression "i.types[1].array[0] & 5" (subscript_expression "i.types[1].array[0]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) || (parenthesized_expression "((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)))" ( (parenthesized_expression "(((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0))" ( (binary_expression "((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&\n          ((operand_types[0].array[0] & 4) != 0)" (parenthesized_expression "((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0))" ( (binary_expression "(i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)" (binary_expression "(i.types[1].array[0] >> 0x10 & 0x5f) != 0" (parenthesized_expression "(i.types[1].array[0] >> 0x10 & 0x5f)" ( (binary_expression "i.types[1].array[0] >> 0x10 & 0x5f" (binary_expression "i.types[1].array[0] >> 0x10" (subscript_expression "i.types[1].array[0]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((i.types[1].array[1] & 0x40) == 0)" ( (binary_expression "(i.types[1].array[1] & 0x40) == 0" (parenthesized_expression "(i.types[1].array[1] & 0x40)" ( (binary_expression "i.types[1].array[1] & 0x40" (subscript_expression "i.types[1].array[1]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((operand_types[0].array[0] & 4) != 0)" ( (binary_expression "(operand_types[0].array[0] & 4) != 0" (parenthesized_expression "(operand_types[0].array[0] & 4)" ( (binary_expression "operand_types[0].array[0] & 4" (subscript_expression "operand_types[0].array[0]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) && (parenthesized_expression "((((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))\n        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )))))" ( (parenthesized_expression "(((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))\n        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            ))))" ( (binary_expression "((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))\n        && ((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )))" (parenthesized_expression "((char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0))" ( (binary_expression "(char)(bVar28 ^ bVar29) < '\0' ||\n         (((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0)" (binary_expression "(char)(bVar28 ^ bVar29) < '\0'" (cast_expression "(char)(bVar28 ^ bVar29)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bVar28 ^ bVar29)" ( (binary_expression "bVar28 ^ bVar29" identifier ^ identifier) ))) < (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0)" ( (binary_expression "((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0 || ((bVar28 ^ bVar29) & 0x60) != 0" (binary_expression "((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a) != 0" (parenthesized_expression "((local_c8 ^ (byte)i.types[1].array[1]) & 0x3a)" ( (binary_expression "(local_c8 ^ (byte)i.types[1].array[1]) & 0x3a" (parenthesized_expression "(local_c8 ^ (byte)i.types[1].array[1])" ( (binary_expression "local_c8 ^ (byte)i.types[1].array[1]" identifier ^ (cast_expression "(byte)i.types[1].array[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "i.types[1].array[1]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]))) )) & number_literal) )) != number_literal) || (binary_expression "((bVar28 ^ bVar29) & 0x60) != 0" (parenthesized_expression "((bVar28 ^ bVar29) & 0x60)" ( (binary_expression "(bVar28 ^ bVar29) & 0x60" (parenthesized_expression "(bVar28 ^ bVar29)" ( (binary_expression "bVar28 ^ bVar29" identifier ^ identifier) )) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "((((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )))" ( (parenthesized_expression "(((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            ))" ( (binary_expression "((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0 ||\n            (((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )" (binary_expression "((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1) != 0" (parenthesized_expression "((byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1)" ( (binary_expression "(byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5 & 1" (binary_expression "(byte)operand_types[1]._3_1_ >> 5 & 1 & (byte)operand_types[0]._3_1_ >> 5" (binary_expression "(byte)operand_types[1]._3_1_ >> 5 & 1" (binary_expression "(byte)operand_types[1]._3_1_ >> 5" (cast_expression "(byte)operand_types[1]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._3_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[0]._3_1_ >> 5" (cast_expression "(byte)operand_types[0]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._3_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "(((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))\n            )" ( (parenthesized_expression "((((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0))" ( (binary_expression "(((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||\n             (((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0)" (parenthesized_expression "(((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0))))" ( (binary_expression "((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )) || ((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))" (parenthesized_expression "((((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               ))" ( (binary_expression "(((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')) ||\n               (((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )" (parenthesized_expression "(((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0'))" ( (binary_expression "((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')" (binary_expression "((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1) !=\n                 0" (parenthesized_expression "((byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1)" ( (binary_expression "(byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6 & 1" (binary_expression "(byte)operand_types[0]._3_1_ >> 6 & 1 & (byte)operand_types[1]._3_1_ >> 6" (binary_expression "(byte)operand_types[0]._3_1_ >> 6 & 1" (binary_expression "(byte)operand_types[0]._3_1_ >> 6" (cast_expression "(byte)operand_types[0]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._3_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[1]._3_1_ >> 6" (cast_expression "(byte)operand_types[1]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._3_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0')" ( (binary_expression "(char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <\n                       '\0'" (cast_expression "(char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_)" ( (binary_expression "operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_" (field_expression "operand_types[0].array[0]._3_1_" (subscript_expression "operand_types[0].array[0]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) & (field_expression "operand_types[1].array[0]._3_1_" (subscript_expression "operand_types[1].array[0]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) ))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0\n               )" ( (binary_expression "((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1) != 0" (parenthesized_expression "((byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1)" ( (binary_expression "(byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1 & 1" (binary_expression "(byte)operand_types[1]._4_1_ >> 1 & 1 & (byte)operand_types[0]._4_1_ >> 1" (binary_expression "(byte)operand_types[1]._4_1_ >> 1 & 1" (binary_expression "(byte)operand_types[1]._4_1_ >> 1" (cast_expression "(byte)operand_types[1]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._4_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[0]._4_1_ >> 1" (cast_expression "(byte)operand_types[0]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._4_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)))" ( (parenthesized_expression "(((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0))" ( (binary_expression "((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0 ||\n                      (((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)" (binary_expression "((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1) != 0" (parenthesized_expression "((byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1)" ( (binary_expression "(byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3 & 1" (binary_expression "(byte)operand_types[1]._4_1_ >> 3 & 1 &\n                       (byte)operand_types[0]._4_1_ >> 3" (binary_expression "(byte)operand_types[1]._4_1_ >> 3 & 1" (binary_expression "(byte)operand_types[1]._4_1_ >> 3" (cast_expression "(byte)operand_types[1]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._4_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[0]._4_1_ >> 3" (cast_expression "(byte)operand_types[0]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._4_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "(((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0)" ( (binary_expression "((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1) != 0" (parenthesized_expression "((byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1)" ( (binary_expression "(byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4 & 1" (binary_expression "(byte)operand_types[0]._4_1_ >> 4 & 1 &\n                       (byte)operand_types[1]._4_1_ >> 4" (binary_expression "(byte)operand_types[0]._4_1_ >> 4 & 1" (binary_expression "(byte)operand_types[0]._4_1_ >> 4" (cast_expression "(byte)operand_types[0]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._4_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[1]._4_1_ >> 4" (cast_expression "(byte)operand_types[1]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._4_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0)" ( (binary_expression "((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1) != 0" (parenthesized_expression "((byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1)" ( (binary_expression "(byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5 & 1" (binary_expression "(byte)operand_types[0]._4_1_ >> 5 & 1 & (byte)operand_types[1]._4_1_ >> 5" (binary_expression "(byte)operand_types[0]._4_1_ >> 5 & 1" (binary_expression "(byte)operand_types[0]._4_1_ >> 5" (cast_expression "(byte)operand_types[0]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._4_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) & (binary_expression "(byte)operand_types[1]._4_1_ >> 5" (cast_expression "(byte)operand_types[1]._4_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[1]._4_1_" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier)) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      i.error = register_type_mismatch;\n      goto LAB_0004ba48;\n    }" { (expression_statement "i.error = register_type_mismatch;" (assignment_expression "i.error = register_type_mismatch" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) })) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (if_statement "if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02) + 0x400;\n  }" if (parenthesized_expression "((bVar4 & 1) != 0)" ( (binary_expression "(bVar4 & 1) != 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_dc = (-(uint)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02) + 0x400;\n  }" { (expression_statement "local_dc = (-(uint)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02) + 0x400;" (assignment_expression "local_dc = (-(uint)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02) + 0x400" identifier = (binary_expression "(-(uint)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02) + 0x400" (parenthesized_expression "(-(uint)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02)" ( (binary_expression "-(uint)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02" (unary_expression "-(uint)((operand_types[0].array[1] & 4) == 0)" - (call_expression "(uint)((operand_types[0].array[1] & 4) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((operand_types[0].array[1] & 4) == 0)" ( (binary_expression "(operand_types[0].array[1] & 4) == 0" (parenthesized_expression "(operand_types[0].array[1] & 4)" ( (binary_expression "operand_types[0].array[1] & 4" (subscript_expression "operand_types[0].array[1]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (expression_statement "uVar33 = local_dc | 8;" (assignment_expression "uVar33 = local_dc | 8" identifier = (binary_expression "local_dc | 8" identifier | number_literal)) ;) (if_statement "if ((bVar26 & 4) == 0) {\n    uVar33 = local_dc;\n  }" if (parenthesized_expression "((bVar26 & 4) == 0)" ( (binary_expression "(bVar26 & 4) == 0" (parenthesized_expression "(bVar26 & 4)" ( (binary_expression "bVar26 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar33 = local_dc;\n  }" { (expression_statement "uVar33 = local_dc;" (assignment_expression "uVar33 = local_dc" identifier = identifier) ;) })) (labeled_statement "_L2937:\n  local_dc = uVar33;" statement_identifier : (expression_statement "local_dc = uVar33;" (assignment_expression "local_dc = uVar33" identifier = identifier) ;)) (if_statement "if (((((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0)) ||\n       (((t->cpu_flags).array[1] & DAT_0006537c) != 0)) ||\n      (((t->cpu_flags).array[0] & avx512_15705) != 0)) &&\n     ((((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0 &&\n      (t->operands != 0)))) {\n    uVar33 = 0;\n    do {\n      if (((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0) &&\n         ((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)))) goto LAB_0004cc2a;\n      uVar33 = uVar33 + 1;\n    } while (t->operands != uVar33);\n  }" if (parenthesized_expression "(((((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0)) ||\n       (((t->cpu_flags).array[1] & DAT_0006537c) != 0)) ||\n      (((t->cpu_flags).array[0] & avx512_15705) != 0)) &&\n     ((((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0 &&\n      (t->operands != 0))))" ( (binary_expression "((((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0)) ||\n       (((t->cpu_flags).array[1] & DAT_0006537c) != 0)) ||\n      (((t->cpu_flags).array[0] & avx512_15705) != 0)) &&\n     ((((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0 &&\n      (t->operands != 0)))" (parenthesized_expression "((((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0)) ||\n       (((t->cpu_flags).array[1] & DAT_0006537c) != 0)) ||\n      (((t->cpu_flags).array[0] & avx512_15705) != 0))" ( (binary_expression "(((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0)) ||\n       (((t->cpu_flags).array[1] & DAT_0006537c) != 0)) ||\n      (((t->cpu_flags).array[0] & avx512_15705) != 0)" (parenthesized_expression "(((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0)) ||\n       (((t->cpu_flags).array[1] & DAT_0006537c) != 0))" ( (binary_expression "((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0)) ||\n       (((t->cpu_flags).array[1] & DAT_0006537c) != 0)" (parenthesized_expression "((((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0))" ( (binary_expression "(((t->cpu_flags).array[3] & DAT_00065384) != 0) ||\n        (((t->cpu_flags).array[2] & DAT_00065380) != 0)" (parenthesized_expression "(((t->cpu_flags).array[3] & DAT_00065384) != 0)" ( (binary_expression "((t->cpu_flags).array[3] & DAT_00065384) != 0" (parenthesized_expression "((t->cpu_flags).array[3] & DAT_00065384)" ( (binary_expression "(t->cpu_flags).array[3] & DAT_00065384" (subscript_expression "(t->cpu_flags).array[3]" (field_expression "(t->cpu_flags).array" (parenthesized_expression "(t->cpu_flags)" ( (field_expression "t->cpu_flags" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) & identifier) )) != number_literal) )) || (parenthesized_expression "(((t->cpu_flags).array[2] & DAT_00065380) != 0)" ( (binary_expression "((t->cpu_flags).array[2] & DAT_00065380) != 0" (parenthesized_expression "((t->cpu_flags).array[2] & DAT_00065380)" ( (binary_expression "(t->cpu_flags).array[2] & DAT_00065380" (subscript_expression "(t->cpu_flags).array[2]" (field_expression "(t->cpu_flags).array" (parenthesized_expression "(t->cpu_flags)" ( (field_expression "t->cpu_flags" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) & identifier) )) != number_literal) ))) )) || (parenthesized_expression "(((t->cpu_flags).array[1] & DAT_0006537c) != 0)" ( (binary_expression "((t->cpu_flags).array[1] & DAT_0006537c) != 0" (parenthesized_expression "((t->cpu_flags).array[1] & DAT_0006537c)" ( (binary_expression "(t->cpu_flags).array[1] & DAT_0006537c" (subscript_expression "(t->cpu_flags).array[1]" (field_expression "(t->cpu_flags).array" (parenthesized_expression "(t->cpu_flags)" ( (field_expression "t->cpu_flags" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) & identifier) )) != number_literal) ))) )) || (parenthesized_expression "(((t->cpu_flags).array[0] & avx512_15705) != 0)" ( (binary_expression "((t->cpu_flags).array[0] & avx512_15705) != 0" (parenthesized_expression "((t->cpu_flags).array[0] & avx512_15705)" ( (binary_expression "(t->cpu_flags).array[0] & avx512_15705" (subscript_expression "(t->cpu_flags).array[0]" (field_expression "(t->cpu_flags).array" (parenthesized_expression "(t->cpu_flags)" ( (field_expression "t->cpu_flags" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) & identifier) )) != number_literal) ))) )) && (parenthesized_expression "((((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0 &&\n      (t->operands != 0)))" ( (parenthesized_expression "(((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0 &&\n      (t->operands != 0))" ( (binary_expression "((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0 &&\n      (t->operands != 0)" (binary_expression "((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0" (parenthesized_expression "((*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8)" ( (binary_expression "(*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8" (parenthesized_expression "(*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_)" ( (binary_expression "*(byte *)((int)&t->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_" (pointer_expression "*(byte *)((int)&t->cpu_flags + 4)" * (cast_expression "(byte *)((int)&t->cpu_flags + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&t->cpu_flags + 4)" ( (binary_expression "(int)&t->cpu_flags + 4" (cast_expression "(int)&t->cpu_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&t->cpu_flags" & (field_expression "t->cpu_flags" identifier -> field_identifier))) + number_literal) )))) | (field_expression "cpu_arch_flags.array[1]._0_1_" (subscript_expression "cpu_arch_flags.array[1]" (field_expression "cpu_arch_flags.array" identifier . field_identifier) [ number_literal ]) . field_identifier)) )) & number_literal) )) == number_literal) && (parenthesized_expression "(t->operands != 0)" ( (binary_expression "t->operands != 0" (field_expression "t->operands" identifier -> field_identifier) != number_literal) ))) )) ))) )) (compound_statement "{\n    uVar33 = 0;\n    do {\n      if (((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0) &&\n         ((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)))) goto LAB_0004cc2a;\n      uVar33 = uVar33 + 1;\n    } while (t->operands != uVar33);\n  }" { (expression_statement "uVar33 = 0;" (assignment_expression "uVar33 = 0" identifier = number_literal) ;) (do_statement "do {\n      if (((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0) &&\n         ((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)))) goto LAB_0004cc2a;\n      uVar33 = uVar33 + 1;\n    } while (t->operands != uVar33);" do (compound_statement "{\n      if (((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0) &&\n         ((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)))) goto LAB_0004cc2a;\n      uVar33 = uVar33 + 1;\n    }" { (if_statement "if (((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0) &&\n         ((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)))) goto LAB_0004cc2a;" if (parenthesized_expression "(((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0) &&\n         ((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0))))" ( (binary_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0) &&\n         ((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)))" (parenthesized_expression "((*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20)" ( (binary_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4) & 0x20" (pointer_expression "*(byte *)((int)t->operand_types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + uVar33 * 8 + 4)" ( (binary_expression "(int)t->operand_types + uVar33 * 8 + 4" (binary_expression "(int)t->operand_types + uVar33 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)))" ( (parenthesized_expression "(bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0))" ( (comma_expression "bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4), (bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)" (assignment_expression "bVar26 = *(byte *)((int)i.types + uVar33 * 8 + 4)" identifier = (pointer_expression "*(byte *)((int)i.types + uVar33 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + uVar33 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar33 * 8 + 4)" ( (binary_expression "(int)i.types + uVar33 * 8 + 4" (binary_expression "(int)i.types + uVar33 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar33 * 8" identifier * number_literal)) + number_literal) ))))) , (binary_expression "(bVar26 & 0x10) != 0 ||\n          ((bVar26 & 8) != 0)" (binary_expression "(bVar26 & 0x10) != 0" (parenthesized_expression "(bVar26 & 0x10)" ( (binary_expression "bVar26 & 0x10" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((bVar26 & 8) != 0)" ( (binary_expression "(bVar26 & 8) != 0" (parenthesized_expression "(bVar26 & 8)" ( (binary_expression "bVar26 & 8" identifier & number_literal) )) != number_literal) )))) )) ))) )) (goto_statement "goto LAB_0004cc2a;" goto statement_identifier ;)) (expression_statement "uVar33 = uVar33 + 1;" (assignment_expression "uVar33 = uVar33 + 1" identifier = (binary_expression "uVar33 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(t->operands != uVar33)" ( (binary_expression "t->operands != uVar33" (field_expression "t->operands" identifier -> field_identifier) != identifier) )) ;) })) (expression_statement "bVar26 = (t->opcode_modifier).field_0x6;" (assignment_expression "bVar26 = (t->opcode_modifier).field_0x6" identifier = (field_expression "(t->opcode_modifier).field_0x6" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "bVar19 = bVar26 & 0x30;" (assignment_expression "bVar19 = bVar26 & 0x30" identifier = (binary_expression "bVar26 & 0x30" identifier & number_literal)) ;) (if_statement "if ((bVar26 & 0x30) == 0) {\n    if ((i.index_reg != (reg_entry *)0x0) &&\n       (((ulonglong)(i.index_reg)->reg_type & 0x3800000000) != 0)) {\n      i.error = unsupported_vector_index_register;\n      local_e0 = unsupported_vector_index_register;\n      goto LAB_0004ba48;\n    }\n    if (((t->opcode_modifier).field_0x8 & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }" if (parenthesized_expression "((bVar26 & 0x30) == 0)" ( (binary_expression "(bVar26 & 0x30) == 0" (parenthesized_expression "(bVar26 & 0x30)" ( (binary_expression "bVar26 & 0x30" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((i.index_reg != (reg_entry *)0x0) &&\n       (((ulonglong)(i.index_reg)->reg_type & 0x3800000000) != 0)) {\n      i.error = unsupported_vector_index_register;\n      local_e0 = unsupported_vector_index_register;\n      goto LAB_0004ba48;\n    }\n    if (((t->opcode_modifier).field_0x8 & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }" { (if_statement "if ((i.index_reg != (reg_entry *)0x0) &&\n       (((ulonglong)(i.index_reg)->reg_type & 0x3800000000) != 0)) {\n      i.error = unsupported_vector_index_register;\n      local_e0 = unsupported_vector_index_register;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "((i.index_reg != (reg_entry *)0x0) &&\n       (((ulonglong)(i.index_reg)->reg_type & 0x3800000000) != 0))" ( (binary_expression "(i.index_reg != (reg_entry *)0x0) &&\n       (((ulonglong)(i.index_reg)->reg_type & 0x3800000000) != 0)" (parenthesized_expression "(i.index_reg != (reg_entry *)0x0)" ( (binary_expression "i.index_reg != (reg_entry *)0x0" (field_expression "i.index_reg" identifier . field_identifier) != (cast_expression "(reg_entry *)0x0" ( (type_descriptor "reg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((ulonglong)(i.index_reg)->reg_type & 0x3800000000) != 0)" ( (binary_expression "((ulonglong)(i.index_reg)->reg_type & 0x3800000000) != 0" (parenthesized_expression "((ulonglong)(i.index_reg)->reg_type & 0x3800000000)" ( (binary_expression "(ulonglong)(i.index_reg)->reg_type & 0x3800000000" (field_expression "(ulonglong)(i.index_reg)->reg_type" (call_expression "(ulonglong)(i.index_reg)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) ))) -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      i.error = unsupported_vector_index_register;\n      local_e0 = unsupported_vector_index_register;\n      goto LAB_0004ba48;\n    }" { (expression_statement "i.error = unsupported_vector_index_register;" (assignment_expression "i.error = unsupported_vector_index_register" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (expression_statement "local_e0 = unsupported_vector_index_register;" (assignment_expression "local_e0 = unsupported_vector_index_register" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (((t->opcode_modifier).field_0x8 & 8) != 0) goto LAB_0004c6f7;" if (parenthesized_expression "(((t->opcode_modifier).field_0x8 & 8) != 0)" ( (binary_expression "((t->opcode_modifier).field_0x8 & 8) != 0" (parenthesized_expression "((t->opcode_modifier).field_0x8 & 8)" ( (binary_expression "(t->opcode_modifier).field_0x8 & 8" (field_expression "(t->opcode_modifier).field_0x8" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004c6f7;" goto statement_identifier ;)) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;) })) (if_statement "if (((t->opcode_modifier).field_0x8 & 8) != 0) {\nLAB_0004c6f7:\n    if ((i.mask == (Mask_Operation *)0x0) || ((i.mask)->mask->reg_num == '\0')) {\n      i.error = no_default_mask;\n      local_e0 = no_default_mask;\n      goto LAB_0004ba48;\n    }\n    if (bVar19 == 0) goto LAB_0004c71a;\n  }" if (parenthesized_expression "(((t->opcode_modifier).field_0x8 & 8) != 0)" ( (binary_expression "((t->opcode_modifier).field_0x8 & 8) != 0" (parenthesized_expression "((t->opcode_modifier).field_0x8 & 8)" ( (binary_expression "(t->opcode_modifier).field_0x8 & 8" (field_expression "(t->opcode_modifier).field_0x8" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0004c6f7:\n    if ((i.mask == (Mask_Operation *)0x0) || ((i.mask)->mask->reg_num == '\0')) {\n      i.error = no_default_mask;\n      local_e0 = no_default_mask;\n      goto LAB_0004ba48;\n    }\n    if (bVar19 == 0) goto LAB_0004c71a;\n  }" { (labeled_statement "LAB_0004c6f7:\n    if ((i.mask == (Mask_Operation *)0x0) || ((i.mask)->mask->reg_num == '\0')) {\n      i.error = no_default_mask;\n      local_e0 = no_default_mask;\n      goto LAB_0004ba48;\n    }" statement_identifier : (if_statement "if ((i.mask == (Mask_Operation *)0x0) || ((i.mask)->mask->reg_num == '\0')) {\n      i.error = no_default_mask;\n      local_e0 = no_default_mask;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "((i.mask == (Mask_Operation *)0x0) || ((i.mask)->mask->reg_num == '\0'))" ( (binary_expression "(i.mask == (Mask_Operation *)0x0) || ((i.mask)->mask->reg_num == '\0')" (parenthesized_expression "(i.mask == (Mask_Operation *)0x0)" ( (binary_expression "i.mask == (Mask_Operation *)0x0" (field_expression "i.mask" identifier . field_identifier) == (cast_expression "(Mask_Operation *)0x0" ( (type_descriptor "Mask_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((i.mask)->mask->reg_num == '\0')" ( (binary_expression "(i.mask)->mask->reg_num == '\0'" (field_expression "(i.mask)->mask->reg_num" (field_expression "(i.mask)->mask" (parenthesized_expression "(i.mask)" ( (field_expression "i.mask" identifier . field_identifier) )) -> field_identifier) -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      i.error = no_default_mask;\n      local_e0 = no_default_mask;\n      goto LAB_0004ba48;\n    }" { (expression_statement "i.error = no_default_mask;" (assignment_expression "i.error = no_default_mask" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (expression_statement "local_e0 = no_default_mask;" (assignment_expression "local_e0 = no_default_mask" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) }))) (if_statement "if (bVar19 == 0) goto LAB_0004c71a;" if (parenthesized_expression "(bVar19 == 0)" ( (binary_expression "bVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;)) })) (if_statement "if (i.index_reg != (reg_entry *)0x0) {\n    if (bVar19 == 0x10) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 8;\n    }\n    else if (bVar19 == 0x20) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10;\n    }\n    else {\n      if (bVar19 != 0x30) goto LAB_0004cef0;\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;\n    }\n    if (bVar26 != 0) {\n      if (i.reg_operands == 2) {\n        if (i.mask != (Mask_Operation *)0x0) goto LAB_0004c71a;\n        if ((i.types[0].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");\n        }\n        if ((i.types[0].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");\n        }\n        if ((i.types[2].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");\n        }\n        if ((i.types[2].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");\n        }\n        if (operand_check != check_none) {\n          cVar27 = (check_kind)(i.op[0].regs)->reg_num;\n          if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }\n          if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }\n          bVar26 = (i.index_reg)->reg_flags;\n          cVar25 = (check_kind)bVar26;\n          local_d4 = (check_kind)(i.index_reg)->reg_num;\n          if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }\n          if (operand_check == check_error) goto LAB_0004ddd8;\n          pcVar24 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (i.mask == (Mask_Operation *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }\n        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)) {\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }\nLAB_0004c71a:\n        uVar33 = i.operands;\n        bVar26 = (t->opcode_modifier).field_0x7;\n        if (i.broadcast != (Broadcast_Operation *)0x0) {\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }\n        if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }\n        if (i.rounding != (RC_Operation *)0x0) {\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }\n        bVar26 = (t->opcode_modifier).field_0x8;\n        i.memshift = bVar26 & 7;\n        if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }\n        i.memshift = 0;\n      }\nLAB_0004d657:\n      if (i.vec_encoding == Cpu486) {\n        if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;\n      }\n      else {\n        if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }\n        if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      i.error = unsupported;\n      local_e0 = unsupported;\n      goto LAB_0004ba48;\n    }\n  }" if (parenthesized_expression "(i.index_reg != (reg_entry *)0x0)" ( (binary_expression "i.index_reg != (reg_entry *)0x0" (field_expression "i.index_reg" identifier . field_identifier) != (cast_expression "(reg_entry *)0x0" ( (type_descriptor "reg_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (bVar19 == 0x10) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 8;\n    }\n    else if (bVar19 == 0x20) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10;\n    }\n    else {\n      if (bVar19 != 0x30) goto LAB_0004cef0;\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;\n    }\n    if (bVar26 != 0) {\n      if (i.reg_operands == 2) {\n        if (i.mask != (Mask_Operation *)0x0) goto LAB_0004c71a;\n        if ((i.types[0].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");\n        }\n        if ((i.types[0].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");\n        }\n        if ((i.types[2].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");\n        }\n        if ((i.types[2].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");\n        }\n        if (operand_check != check_none) {\n          cVar27 = (check_kind)(i.op[0].regs)->reg_num;\n          if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }\n          if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }\n          bVar26 = (i.index_reg)->reg_flags;\n          cVar25 = (check_kind)bVar26;\n          local_d4 = (check_kind)(i.index_reg)->reg_num;\n          if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }\n          if (operand_check == check_error) goto LAB_0004ddd8;\n          pcVar24 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (i.mask == (Mask_Operation *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }\n        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)) {\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }\nLAB_0004c71a:\n        uVar33 = i.operands;\n        bVar26 = (t->opcode_modifier).field_0x7;\n        if (i.broadcast != (Broadcast_Operation *)0x0) {\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }\n        if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }\n        if (i.rounding != (RC_Operation *)0x0) {\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }\n        bVar26 = (t->opcode_modifier).field_0x8;\n        i.memshift = bVar26 & 7;\n        if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }\n        i.memshift = 0;\n      }\nLAB_0004d657:\n      if (i.vec_encoding == Cpu486) {\n        if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;\n      }\n      else {\n        if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }\n        if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      i.error = unsupported;\n      local_e0 = unsupported;\n      goto LAB_0004ba48;\n    }\n  }" { (if_statement "if (bVar19 == 0x10) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 8;\n    }\n    else if (bVar19 == 0x20) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10;\n    }\n    else {\n      if (bVar19 != 0x30) goto LAB_0004cef0;\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;\n    }" if (parenthesized_expression "(bVar19 == 0x10)" ( (binary_expression "bVar19 == 0x10" identifier == number_literal) )) (compound_statement "{\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 8;\n    }" { (expression_statement "bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 8;" (assignment_expression "bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 8" identifier = (binary_expression "*(byte *)((int)&(i.index_reg)->reg_type + 4) & 8" (pointer_expression "*(byte *)((int)&(i.index_reg)->reg_type + 4)" * (cast_expression "(byte *)((int)&(i.index_reg)->reg_type + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(i.index_reg)->reg_type + 4)" ( (binary_expression "(int)&(i.index_reg)->reg_type + 4" (cast_expression "(int)&(i.index_reg)->reg_type" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(i.index_reg)->reg_type" & (field_expression "(i.index_reg)->reg_type" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier))) + number_literal) )))) & number_literal)) ;) }) (else_clause "else if (bVar19 == 0x20) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10;\n    }\n    else {\n      if (bVar19 != 0x30) goto LAB_0004cef0;\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;\n    }" else (if_statement "if (bVar19 == 0x20) {\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10;\n    }\n    else {\n      if (bVar19 != 0x30) goto LAB_0004cef0;\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;\n    }" if (parenthesized_expression "(bVar19 == 0x20)" ( (binary_expression "bVar19 == 0x20" identifier == number_literal) )) (compound_statement "{\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10;\n    }" { (expression_statement "bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10;" (assignment_expression "bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10" identifier = (binary_expression "*(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x10" (pointer_expression "*(byte *)((int)&(i.index_reg)->reg_type + 4)" * (cast_expression "(byte *)((int)&(i.index_reg)->reg_type + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(i.index_reg)->reg_type + 4)" ( (binary_expression "(int)&(i.index_reg)->reg_type + 4" (cast_expression "(int)&(i.index_reg)->reg_type" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(i.index_reg)->reg_type" & (field_expression "(i.index_reg)->reg_type" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier))) + number_literal) )))) & number_literal)) ;) }) (else_clause "else {\n      if (bVar19 != 0x30) goto LAB_0004cef0;\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;\n    }" else (compound_statement "{\n      if (bVar19 != 0x30) goto LAB_0004cef0;\n      bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;\n    }" { (if_statement "if (bVar19 != 0x30) goto LAB_0004cef0;" if (parenthesized_expression "(bVar19 != 0x30)" ( (binary_expression "bVar19 != 0x30" identifier != number_literal) )) (goto_statement "goto LAB_0004cef0;" goto statement_identifier ;)) (expression_statement "bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20;" (assignment_expression "bVar26 = *(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20" identifier = (binary_expression "*(byte *)((int)&(i.index_reg)->reg_type + 4) & 0x20" (pointer_expression "*(byte *)((int)&(i.index_reg)->reg_type + 4)" * (cast_expression "(byte *)((int)&(i.index_reg)->reg_type + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(i.index_reg)->reg_type + 4)" ( (binary_expression "(int)&(i.index_reg)->reg_type + 4" (cast_expression "(int)&(i.index_reg)->reg_type" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(i.index_reg)->reg_type" & (field_expression "(i.index_reg)->reg_type" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier))) + number_literal) )))) & number_literal)) ;) }))))) (if_statement "if (bVar26 != 0) {\n      if (i.reg_operands == 2) {\n        if (i.mask != (Mask_Operation *)0x0) goto LAB_0004c71a;\n        if ((i.types[0].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");\n        }\n        if ((i.types[0].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");\n        }\n        if ((i.types[2].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");\n        }\n        if ((i.types[2].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");\n        }\n        if (operand_check != check_none) {\n          cVar27 = (check_kind)(i.op[0].regs)->reg_num;\n          if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }\n          if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }\n          bVar26 = (i.index_reg)->reg_flags;\n          cVar25 = (check_kind)bVar26;\n          local_d4 = (check_kind)(i.index_reg)->reg_num;\n          if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }\n          if (operand_check == check_error) goto LAB_0004ddd8;\n          pcVar24 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (i.mask == (Mask_Operation *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }\n        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)) {\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }\nLAB_0004c71a:\n        uVar33 = i.operands;\n        bVar26 = (t->opcode_modifier).field_0x7;\n        if (i.broadcast != (Broadcast_Operation *)0x0) {\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }\n        if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }\n        if (i.rounding != (RC_Operation *)0x0) {\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }\n        bVar26 = (t->opcode_modifier).field_0x8;\n        i.memshift = bVar26 & 7;\n        if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }\n        i.memshift = 0;\n      }\nLAB_0004d657:\n      if (i.vec_encoding == Cpu486) {\n        if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;\n      }\n      else {\n        if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }\n        if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      i.error = unsupported;\n      local_e0 = unsupported;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "(bVar26 != 0)" ( (binary_expression "bVar26 != 0" identifier != number_literal) )) (compound_statement "{\n      if (i.reg_operands == 2) {\n        if (i.mask != (Mask_Operation *)0x0) goto LAB_0004c71a;\n        if ((i.types[0].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");\n        }\n        if ((i.types[0].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");\n        }\n        if ((i.types[2].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");\n        }\n        if ((i.types[2].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");\n        }\n        if (operand_check != check_none) {\n          cVar27 = (check_kind)(i.op[0].regs)->reg_num;\n          if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }\n          if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }\n          bVar26 = (i.index_reg)->reg_flags;\n          cVar25 = (check_kind)bVar26;\n          local_d4 = (check_kind)(i.index_reg)->reg_num;\n          if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }\n          if (operand_check == check_error) goto LAB_0004ddd8;\n          pcVar24 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (i.mask == (Mask_Operation *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }\n        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)) {\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }\nLAB_0004c71a:\n        uVar33 = i.operands;\n        bVar26 = (t->opcode_modifier).field_0x7;\n        if (i.broadcast != (Broadcast_Operation *)0x0) {\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }\n        if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }\n        if (i.rounding != (RC_Operation *)0x0) {\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }\n        bVar26 = (t->opcode_modifier).field_0x8;\n        i.memshift = bVar26 & 7;\n        if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }\n        i.memshift = 0;\n      }\nLAB_0004d657:\n      if (i.vec_encoding == Cpu486) {\n        if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;\n      }\n      else {\n        if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }\n        if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      i.error = unsupported;\n      local_e0 = unsupported;\n      goto LAB_0004ba48;\n    }" { (if_statement "if (i.reg_operands == 2) {\n        if (i.mask != (Mask_Operation *)0x0) goto LAB_0004c71a;\n        if ((i.types[0].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");\n        }\n        if ((i.types[0].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");\n        }\n        if ((i.types[2].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");\n        }\n        if ((i.types[2].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");\n        }\n        if (operand_check != check_none) {\n          cVar27 = (check_kind)(i.op[0].regs)->reg_num;\n          if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }\n          if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }\n          bVar26 = (i.index_reg)->reg_flags;\n          cVar25 = (check_kind)bVar26;\n          local_d4 = (check_kind)(i.index_reg)->reg_num;\n          if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }\n          if (operand_check == check_error) goto LAB_0004ddd8;\n          pcVar24 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (i.mask == (Mask_Operation *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }\n        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)) {\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }\nLAB_0004c71a:\n        uVar33 = i.operands;\n        bVar26 = (t->opcode_modifier).field_0x7;\n        if (i.broadcast != (Broadcast_Operation *)0x0) {\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }\n        if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }\n        if (i.rounding != (RC_Operation *)0x0) {\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }\n        bVar26 = (t->opcode_modifier).field_0x8;\n        i.memshift = bVar26 & 7;\n        if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }\n        i.memshift = 0;\n      }" if (parenthesized_expression "(i.reg_operands == 2)" ( (binary_expression "i.reg_operands == 2" (field_expression "i.reg_operands" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        if (i.mask != (Mask_Operation *)0x0) goto LAB_0004c71a;\n        if ((i.types[0].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");\n        }\n        if ((i.types[0].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");\n        }\n        if ((i.types[2].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");\n        }\n        if ((i.types[2].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");\n        }\n        if (operand_check != check_none) {\n          cVar27 = (check_kind)(i.op[0].regs)->reg_num;\n          if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }\n          if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }\n          bVar26 = (i.index_reg)->reg_flags;\n          cVar25 = (check_kind)bVar26;\n          local_d4 = (check_kind)(i.index_reg)->reg_num;\n          if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }\n          if (operand_check == check_error) goto LAB_0004ddd8;\n          pcVar24 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }" { (if_statement "if (i.mask != (Mask_Operation *)0x0) goto LAB_0004c71a;" if (parenthesized_expression "(i.mask != (Mask_Operation *)0x0)" ( (binary_expression "i.mask != (Mask_Operation *)0x0" (field_expression "i.mask" identifier . field_identifier) != (cast_expression "(Mask_Operation *)0x0" ( (type_descriptor "Mask_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;)) (if_statement "if ((i.types[0].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");\n        }" if (parenthesized_expression "((i.types[0].array[0] & 4) == 0)" ( (binary_expression "(i.types[0].array[0] & 4) == 0" (parenthesized_expression "(i.types[0].array[0] & 4)" ( (binary_expression "i.types[0].array[0] & 4" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");\n        }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands")" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") ))) ;) })) (if_statement "if ((i.types[0].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");\n        }" if (parenthesized_expression "((i.types[0].array[1] & 0x18) == 0)" ( (binary_expression "(i.types[0].array[1] & 0x18) == 0" (parenthesized_expression "(i.types[0].array[1] & 0x18)" ( (binary_expression "i.types[0].array[1] & 0x18" (subscript_expression "i.types[0].array[1]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");\n        }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands")" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") ))) ;) })) (if_statement "if ((i.types[2].array[0] & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");\n        }" if (parenthesized_expression "((i.types[2].array[0] & 4) == 0)" ( (binary_expression "(i.types[2].array[0] & 4) == 0" (parenthesized_expression "(i.types[2].array[0] & 4)" ( (binary_expression "i.types[2].array[0] & 4" (subscript_expression "i.types[2].array[0]" (field_expression "i.types[2].array" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");\n        }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands")" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") ))) ;) })) (if_statement "if ((i.types[2].array[1] & 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");\n        }" if (parenthesized_expression "((i.types[2].array[1] & 0x18) == 0)" ( (binary_expression "(i.types[2].array[1] & 0x18) == 0" (parenthesized_expression "(i.types[2].array[1] & 0x18)" ( (binary_expression "i.types[2].array[1] & 0x18" (subscript_expression "i.types[2].array[1]" (field_expression "i.types[2].array" (subscript_expression "i.types[2]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");\n        }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands")" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") ))) ;) })) (if_statement "if (operand_check != check_none) {\n          cVar27 = (check_kind)(i.op[0].regs)->reg_num;\n          if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }\n          if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }\n          bVar26 = (i.index_reg)->reg_flags;\n          cVar25 = (check_kind)bVar26;\n          local_d4 = (check_kind)(i.index_reg)->reg_num;\n          if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }\n          if (operand_check == check_error) goto LAB_0004ddd8;\n          pcVar24 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }" if (parenthesized_expression "(operand_check != check_none)" ( (binary_expression "operand_check != check_none" identifier != identifier) )) (compound_statement "{\n          cVar27 = (check_kind)(i.op[0].regs)->reg_num;\n          if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }\n          if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }\n          bVar26 = (i.index_reg)->reg_flags;\n          cVar25 = (check_kind)bVar26;\n          local_d4 = (check_kind)(i.index_reg)->reg_num;\n          if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }\n          if (operand_check == check_error) goto LAB_0004ddd8;\n          pcVar24 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }" { (expression_statement "cVar27 = (check_kind)(i.op[0].regs)->reg_num;" (assignment_expression "cVar27 = (check_kind)(i.op[0].regs)->reg_num" identifier = (field_expression "(check_kind)(i.op[0].regs)->reg_num" (call_expression "(check_kind)(i.op[0].regs)" (parenthesized_expression "(check_kind)" ( identifier )) (argument_list "(i.op[0].regs)" ( (field_expression "i.op[0].regs" (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) ))) -> field_identifier)) ;) (if_statement "if (((i.op[0].regs)->reg_flags & 1) != 0) {\n            cVar27 = cVar27 + 8;\n          }" if (parenthesized_expression "(((i.op[0].regs)->reg_flags & 1) != 0)" ( (binary_expression "((i.op[0].regs)->reg_flags & 1) != 0" (parenthesized_expression "((i.op[0].regs)->reg_flags & 1)" ( (binary_expression "(i.op[0].regs)->reg_flags & 1" (field_expression "(i.op[0].regs)->reg_flags" (parenthesized_expression "(i.op[0].regs)" ( (field_expression "i.op[0].regs" (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            cVar27 = cVar27 + 8;\n          }" { (expression_statement "cVar27 = cVar27 + 8;" (assignment_expression "cVar27 = cVar27 + 8" identifier = (binary_expression "cVar27 + 8" identifier + number_literal)) ;) })) (if_statement "if (((i.op[0].regs)->reg_flags & 4) != 0) {\n            cVar27 = cVar27 + 0x10;\n          }" if (parenthesized_expression "(((i.op[0].regs)->reg_flags & 4) != 0)" ( (binary_expression "((i.op[0].regs)->reg_flags & 4) != 0" (parenthesized_expression "((i.op[0].regs)->reg_flags & 4)" ( (binary_expression "(i.op[0].regs)->reg_flags & 4" (field_expression "(i.op[0].regs)->reg_flags" (parenthesized_expression "(i.op[0].regs)" ( (field_expression "i.op[0].regs" (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            cVar27 = cVar27 + 0x10;\n          }" { (expression_statement "cVar27 = cVar27 + 0x10;" (assignment_expression "cVar27 = cVar27 + 0x10" identifier = (binary_expression "cVar27 + 0x10" identifier + number_literal)) ;) })) (expression_statement "bVar26 = (i.index_reg)->reg_flags;" (assignment_expression "bVar26 = (i.index_reg)->reg_flags" identifier = (field_expression "(i.index_reg)->reg_flags" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "cVar25 = (check_kind)bVar26;" (assignment_expression "cVar25 = (check_kind)bVar26" identifier = (cast_expression "(check_kind)bVar26" ( (type_descriptor "check_kind" type_identifier) ) identifier)) ;) (expression_statement "local_d4 = (check_kind)(i.index_reg)->reg_num;" (assignment_expression "local_d4 = (check_kind)(i.index_reg)->reg_num" identifier = (field_expression "(check_kind)(i.index_reg)->reg_num" (call_expression "(check_kind)(i.index_reg)" (parenthesized_expression "(check_kind)" ( identifier )) (argument_list "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) ))) -> field_identifier)) ;) (if_statement "if ((bVar26 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }" if (parenthesized_expression "((bVar26 & 1) != 0)" ( (binary_expression "(bVar26 & 1) != 0" (parenthesized_expression "(bVar26 & 1)" ( (binary_expression "bVar26 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_d4 = local_d4 + 8;\n          }" { (expression_statement "local_d4 = local_d4 + 8;" (assignment_expression "local_d4 = local_d4 + 8" identifier = (binary_expression "local_d4 + 8" identifier + number_literal)) ;) })) (if_statement "if ((bVar26 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }" if (parenthesized_expression "((bVar26 & 4) != 0)" ( (binary_expression "(bVar26 & 4) != 0" (parenthesized_expression "(bVar26 & 4)" ( (binary_expression "bVar26 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_d4 = local_d4 + 0x10;\n          }" { (expression_statement "local_d4 = local_d4 + 0x10;" (assignment_expression "local_d4 = local_d4 + 0x10" identifier = (binary_expression "local_d4 + 0x10" identifier + number_literal)) ;) })) (if_statement "if (local_d4 != cVar27) {\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }" if (parenthesized_expression "(local_d4 != cVar27)" ( (binary_expression "local_d4 != cVar27" identifier != identifier) )) (compound_statement "{\n            cVar25 = (check_kind)(i.op[2].regs)->reg_num;\n            if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }\n            if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }\n            if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;\n          }" { (expression_statement "cVar25 = (check_kind)(i.op[2].regs)->reg_num;" (assignment_expression "cVar25 = (check_kind)(i.op[2].regs)->reg_num" identifier = (field_expression "(check_kind)(i.op[2].regs)->reg_num" (call_expression "(check_kind)(i.op[2].regs)" (parenthesized_expression "(check_kind)" ( identifier )) (argument_list "(i.op[2].regs)" ( (field_expression "i.op[2].regs" (subscript_expression "i.op[2]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) ))) -> field_identifier)) ;) (if_statement "if (((i.op[2].regs)->reg_flags & 1) != 0) {\n              cVar25 = cVar25 + 8;\n            }" if (parenthesized_expression "(((i.op[2].regs)->reg_flags & 1) != 0)" ( (binary_expression "((i.op[2].regs)->reg_flags & 1) != 0" (parenthesized_expression "((i.op[2].regs)->reg_flags & 1)" ( (binary_expression "(i.op[2].regs)->reg_flags & 1" (field_expression "(i.op[2].regs)->reg_flags" (parenthesized_expression "(i.op[2].regs)" ( (field_expression "i.op[2].regs" (subscript_expression "i.op[2]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n              cVar25 = cVar25 + 8;\n            }" { (expression_statement "cVar25 = cVar25 + 8;" (assignment_expression "cVar25 = cVar25 + 8" identifier = (binary_expression "cVar25 + 8" identifier + number_literal)) ;) })) (if_statement "if (((i.op[2].regs)->reg_flags & 4) != 0) {\n              cVar25 = cVar25 + 0x10;\n            }" if (parenthesized_expression "(((i.op[2].regs)->reg_flags & 4) != 0)" ( (binary_expression "((i.op[2].regs)->reg_flags & 4) != 0" (parenthesized_expression "((i.op[2].regs)->reg_flags & 4)" ( (binary_expression "(i.op[2].regs)->reg_flags & 4" (field_expression "(i.op[2].regs)->reg_flags" (parenthesized_expression "(i.op[2].regs)" ( (field_expression "i.op[2].regs" (subscript_expression "i.op[2]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n              cVar25 = cVar25 + 0x10;\n            }" { (expression_statement "cVar25 = cVar25 + 0x10;" (assignment_expression "cVar25 = cVar25 + 0x10" identifier = (binary_expression "cVar25 + 0x10" identifier + number_literal)) ;) })) (if_statement "if ((local_d4 != cVar25) && (cVar27 != cVar25)) goto LAB_0004d657;" if (parenthesized_expression "((local_d4 != cVar25) && (cVar27 != cVar25))" ( (binary_expression "(local_d4 != cVar25) && (cVar27 != cVar25)" (parenthesized_expression "(local_d4 != cVar25)" ( (binary_expression "local_d4 != cVar25" identifier != identifier) )) && (parenthesized_expression "(cVar27 != cVar25)" ( (binary_expression "cVar27 != cVar25" identifier != identifier) ))) )) (goto_statement "goto LAB_0004d657;" goto statement_identifier ;)) })) (if_statement "if (operand_check == check_error) goto LAB_0004ddd8;" if (parenthesized_expression "(operand_check == check_error)" ( (binary_expression "operand_check == check_error" identifier == identifier) )) (goto_statement "goto LAB_0004ddd8;" goto statement_identifier ;)) (expression_statement "pcVar24 = "mask, index, and destination registers should be distinct";" (assignment_expression "pcVar24 = "mask, index, and destination registers should be distinct"" identifier = (string_literal ""mask, index, and destination registers should be distinct"" " string_content ")) ;) (goto_statement "goto LAB_0004cd9e;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (i.mask == (Mask_Operation *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }\n        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)) {\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }\nLAB_0004c71a:\n        uVar33 = i.operands;\n        bVar26 = (t->opcode_modifier).field_0x7;\n        if (i.broadcast != (Broadcast_Operation *)0x0) {\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }\n        if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }\n        if (i.rounding != (RC_Operation *)0x0) {\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }\n        bVar26 = (t->opcode_modifier).field_0x8;\n        i.memshift = bVar26 & 7;\n        if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }\n        i.memshift = 0;\n      }" else (compound_statement "{\n        if (i.mask == (Mask_Operation *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }\n        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)) {\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }\nLAB_0004c71a:\n        uVar33 = i.operands;\n        bVar26 = (t->opcode_modifier).field_0x7;\n        if (i.broadcast != (Broadcast_Operation *)0x0) {\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }\n        if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }\n        if (i.rounding != (RC_Operation *)0x0) {\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }\n        bVar26 = (t->opcode_modifier).field_0x8;\n        i.memshift = bVar26 & 7;\n        if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }\n        i.memshift = 0;\n      }" { (if_statement "if (i.mask == (Mask_Operation *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }" if (parenthesized_expression "(i.mask == (Mask_Operation *)0x0)" ( (binary_expression "i.mask == (Mask_Operation *)0x0" (field_expression "i.mask" identifier . field_identifier) == (cast_expression "(Mask_Operation *)0x0" ( (type_descriptor "Mask_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");\n        }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands")" identifier (argument_list "("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") ))) ;) })) (if_statement "if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)) {\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }" if (parenthesized_expression "(((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0))" ( (binary_expression "((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&\n           ((i.types[1].array[1] & 0x38) != 0)" (parenthesized_expression "((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0))" ( (binary_expression "(i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)" (parenthesized_expression "(i.reg_operands == 1)" ( (binary_expression "i.reg_operands == 1" (field_expression "i.reg_operands" identifier . field_identifier) == number_literal) )) && (parenthesized_expression "((i.types[1].array[0] & 4) != 0)" ( (binary_expression "(i.types[1].array[0] & 4) != 0" (parenthesized_expression "(i.types[1].array[0] & 4)" ( (binary_expression "i.types[1].array[0] & 4" (subscript_expression "i.types[1].array[0]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((i.types[1].array[1] & 0x38) != 0)" ( (binary_expression "(i.types[1].array[1] & 0x38) != 0" (parenthesized_expression "(i.types[1].array[1] & 0x38)" ( (binary_expression "i.types[1].array[1] & 0x38" (subscript_expression "i.types[1].array[1]" (field_expression "i.types[1].array" (subscript_expression "i.types[1]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          uVar33 = (uint)(i.op[1].regs)->reg_num;\n          if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }\n          if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }\n          uVar21 = (uint)(i.index_reg)->reg_num;\n          if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }\n          if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }\n          if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }\n        }" { (expression_statement "uVar33 = (uint)(i.op[1].regs)->reg_num;" (assignment_expression "uVar33 = (uint)(i.op[1].regs)->reg_num" identifier = (field_expression "(uint)(i.op[1].regs)->reg_num" (call_expression "(uint)(i.op[1].regs)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(i.op[1].regs)" ( (field_expression "i.op[1].regs" (subscript_expression "i.op[1]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) ))) -> field_identifier)) ;) (if_statement "if (((i.op[1].regs)->reg_flags & 1) != 0) {\n            uVar33 = uVar33 + 8;\n          }" if (parenthesized_expression "(((i.op[1].regs)->reg_flags & 1) != 0)" ( (binary_expression "((i.op[1].regs)->reg_flags & 1) != 0" (parenthesized_expression "((i.op[1].regs)->reg_flags & 1)" ( (binary_expression "(i.op[1].regs)->reg_flags & 1" (field_expression "(i.op[1].regs)->reg_flags" (parenthesized_expression "(i.op[1].regs)" ( (field_expression "i.op[1].regs" (subscript_expression "i.op[1]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar33 = uVar33 + 8;\n          }" { (expression_statement "uVar33 = uVar33 + 8;" (assignment_expression "uVar33 = uVar33 + 8" identifier = (binary_expression "uVar33 + 8" identifier + number_literal)) ;) })) (if_statement "if (((i.op[1].regs)->reg_flags & 4) != 0) {\n            uVar33 = uVar33 + 0x10;\n          }" if (parenthesized_expression "(((i.op[1].regs)->reg_flags & 4) != 0)" ( (binary_expression "((i.op[1].regs)->reg_flags & 4) != 0" (parenthesized_expression "((i.op[1].regs)->reg_flags & 4)" ( (binary_expression "(i.op[1].regs)->reg_flags & 4" (field_expression "(i.op[1].regs)->reg_flags" (parenthesized_expression "(i.op[1].regs)" ( (field_expression "i.op[1].regs" (subscript_expression "i.op[1]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar33 = uVar33 + 0x10;\n          }" { (expression_statement "uVar33 = uVar33 + 0x10;" (assignment_expression "uVar33 = uVar33 + 0x10" identifier = (binary_expression "uVar33 + 0x10" identifier + number_literal)) ;) })) (expression_statement "uVar21 = (uint)(i.index_reg)->reg_num;" (assignment_expression "uVar21 = (uint)(i.index_reg)->reg_num" identifier = (field_expression "(uint)(i.index_reg)->reg_num" (call_expression "(uint)(i.index_reg)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) ))) -> field_identifier)) ;) (if_statement "if (((i.index_reg)->reg_flags & 1) != 0) {\n            uVar21 = uVar21 + 8;\n          }" if (parenthesized_expression "(((i.index_reg)->reg_flags & 1) != 0)" ( (binary_expression "((i.index_reg)->reg_flags & 1) != 0" (parenthesized_expression "((i.index_reg)->reg_flags & 1)" ( (binary_expression "(i.index_reg)->reg_flags & 1" (field_expression "(i.index_reg)->reg_flags" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar21 = uVar21 + 8;\n          }" { (expression_statement "uVar21 = uVar21 + 8;" (assignment_expression "uVar21 = uVar21 + 8" identifier = (binary_expression "uVar21 + 8" identifier + number_literal)) ;) })) (if_statement "if (((i.index_reg)->reg_flags & 4) != 0) {\n            uVar21 = uVar21 + 0x10;\n          }" if (parenthesized_expression "(((i.index_reg)->reg_flags & 4) != 0)" ( (binary_expression "((i.index_reg)->reg_flags & 4) != 0" (parenthesized_expression "((i.index_reg)->reg_flags & 4)" ( (binary_expression "(i.index_reg)->reg_flags & 4" (field_expression "(i.index_reg)->reg_flags" (parenthesized_expression "(i.index_reg)" ( (field_expression "i.index_reg" identifier . field_identifier) )) -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar21 = uVar21 + 0x10;\n          }" { (expression_statement "uVar21 = uVar21 + 0x10;" (assignment_expression "uVar21 = uVar21 + 0x10" identifier = (binary_expression "uVar21 + 0x10" identifier + number_literal)) ;) })) (if_statement "if (uVar21 == uVar33) {\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }" if (parenthesized_expression "(uVar21 == uVar33)" ( (binary_expression "uVar21 == uVar33" identifier == identifier) )) (compound_statement "{\n            if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }\n            if (operand_check == check_none) goto LAB_0004c71a;\n            pcVar24 = "index and destination registers should be distinct";\n            cVar25 = operand_check;\nLAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);\n            as_warn(pcVar24);\n          }" { (if_statement "if (operand_check == check_error) {\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }" if (parenthesized_expression "(operand_check == check_error)" ( (binary_expression "operand_check == check_error" identifier == identifier) )) (compound_statement "{\nLAB_0004ddd8:\n              i.error = invalid_vector_register_set;\n              local_e0 = invalid_vector_register_set;\n              goto LAB_0004ba48;\n            }" { (labeled_statement "LAB_0004ddd8:\n              i.error = invalid_vector_register_set;" statement_identifier : (expression_statement "i.error = invalid_vector_register_set;" (assignment_expression "i.error = invalid_vector_register_set" (field_expression "i.error" identifier . field_identifier) = identifier) ;)) (expression_statement "local_e0 = invalid_vector_register_set;" (assignment_expression "local_e0 = invalid_vector_register_set" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (operand_check == check_none) goto LAB_0004c71a;" if (parenthesized_expression "(operand_check == check_none)" ( (binary_expression "operand_check == check_none" identifier == identifier) )) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;)) (expression_statement "pcVar24 = "index and destination registers should be distinct";" (assignment_expression "pcVar24 = "index and destination registers should be distinct"" identifier = (string_literal ""index and destination registers should be distinct"" " string_content ")) ;) (expression_statement "cVar25 = operand_check;" (assignment_expression "cVar25 = operand_check" identifier = identifier) ;) (labeled_statement "LAB_0004cd9e:\n            pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);" statement_identifier : (expression_statement "pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25);" (assignment_expression "pcVar24 = (char *)dcgettext(0,pcVar24,5,cVar25)" identifier = (cast_expression "(char *)dcgettext(0,pcVar24,5,cVar25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar24,5,cVar25)" identifier (argument_list "(0,pcVar24,5,cVar25)" ( number_literal , identifier , number_literal , identifier ))))) ;)) (expression_statement "as_warn(pcVar24);" (call_expression "as_warn(pcVar24)" identifier (argument_list "(pcVar24)" ( identifier ))) ;) })) })) (labeled_statement "LAB_0004c71a:\n        uVar33 = i.operands;" statement_identifier : (expression_statement "uVar33 = i.operands;" (assignment_expression "uVar33 = i.operands" identifier = (field_expression "i.operands" identifier . field_identifier)) ;)) (expression_statement "bVar26 = (t->opcode_modifier).field_0x7;" (assignment_expression "bVar26 = (t->opcode_modifier).field_0x7" identifier = (field_expression "(t->opcode_modifier).field_0x7" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (i.broadcast != (Broadcast_Operation *)0x0) {\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }" if (parenthesized_expression "(i.broadcast != (Broadcast_Operation *)0x0)" ( (binary_expression "i.broadcast != (Broadcast_Operation *)0x0" (field_expression "i.broadcast" identifier . field_identifier) != (cast_expression "(Broadcast_Operation *)0x0" ( (type_descriptor "Broadcast_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          i.error = unsupported_broadcast;\n          local_e0 = unsupported_broadcast;\n          goto LAB_0004ba48;\n        }" { (if_statement "if ((bVar26 & 0x20) != 0) {\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }" if (parenthesized_expression "((bVar26 & 0x20) != 0)" ( (binary_expression "(bVar26 & 0x20) != 0" (parenthesized_expression "(bVar26 & 0x20)" ( (binary_expression "bVar26 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_d4 = (i.broadcast)->operand;\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);\n            if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }" { (expression_statement "local_d4 = (i.broadcast)->operand;" (assignment_expression "local_d4 = (i.broadcast)->operand" identifier = (field_expression "(i.broadcast)->operand" (parenthesized_expression "(i.broadcast)" ( (field_expression "i.broadcast" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3);" (assignment_expression "bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)i.types + local_d4 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + local_d4 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + local_d4 * 8 + 3)" ( (binary_expression "(int)i.types + local_d4 * 8 + 3" (binary_expression "(int)i.types + local_d4 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((bVar19 & 0x10) != 0) {\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }" if (parenthesized_expression "((bVar19 & 0x10) != 0)" ( (binary_expression "(bVar19 & 0x10) != 0" (parenthesized_expression "(bVar19 & 0x10)" ( (binary_expression "bVar19 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);\n              cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);\n              if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }" { (expression_statement "bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4);" (assignment_expression "bVar2 = *(byte *)((int)i.types + local_d4 * 8 + 4)" identifier = (pointer_expression "*(byte *)((int)i.types + local_d4 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + local_d4 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + local_d4 * 8 + 4)" ( (binary_expression "(int)i.types + local_d4 * 8 + 4" (binary_expression "(int)i.types + local_d4 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3);" (assignment_expression "cVar3 = *(char *)((int)t->operand_types + local_d4 * 8 + 3)" identifier = (pointer_expression "*(char *)((int)t->operand_types + local_d4 * 8 + 3)" * (cast_expression "(char *)((int)t->operand_types + local_d4 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + local_d4 * 8 + 3)" ( (binary_expression "(int)t->operand_types + local_d4 * 8 + 3" (binary_expression "(int)t->operand_types + local_d4 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((bVar2 & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" if (parenthesized_expression "((bVar2 & 0x40) == 0)" ( (binary_expression "(bVar2 & 0x40) == 0" (parenthesized_expression "(bVar2 & 0x40)" ( (binary_expression "bVar2 & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }\n              }" { (if_statement "if (cVar3 < '\0') {\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }" if (parenthesized_expression "(cVar3 < '\0')" ( (binary_expression "cVar3 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar20 = 4;\n                  if ((char)bVar19 < '\0') goto LAB_0004c78c;\n                }" { (expression_statement "iVar20 = 4;" (assignment_expression "iVar20 = 4" identifier = number_literal) ;) (if_statement "if ((char)bVar19 < '\0') goto LAB_0004c78c;" if (parenthesized_expression "((char)bVar19 < '\0')" ( (binary_expression "(char)bVar19 < '\0'" (cast_expression "(char)bVar19" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004c78c;" goto statement_identifier ;)) }) (else_clause "else {\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }" else (compound_statement "{\n                  iVar20 = 8;\n                  if ((bVar2 & 2) != 0) goto LAB_0004c78c;\n                }" { (expression_statement "iVar20 = 8;" (assignment_expression "iVar20 = 8" identifier = number_literal) ;) (if_statement "if ((bVar2 & 2) != 0) goto LAB_0004c78c;" if (parenthesized_expression "((bVar2 & 2) != 0)" ( (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004c78c;" goto statement_identifier ;)) }))) }) (else_clause "else {\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" else (compound_statement "{\n                iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;\n                if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" { (expression_statement "iVar20 = (-(uint)(-1 < cVar3) & 4) + 4;" (assignment_expression "iVar20 = (-(uint)(-1 < cVar3) & 4) + 4" identifier = (binary_expression "(-(uint)(-1 < cVar3) & 4) + 4" (parenthesized_expression "(-(uint)(-1 < cVar3) & 4)" ( (binary_expression "-(uint)(-1 < cVar3) & 4" (unary_expression "-(uint)(-1 < cVar3)" - (call_expression "(uint)(-1 < cVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(-1 < cVar3)" ( (binary_expression "-1 < cVar3" number_literal < identifier) )))) & number_literal) )) + number_literal)) ;) (labeled_statement "LAB_0004c78c:\n                iVar20 = iVar20 * (i.broadcast)->type;" statement_identifier : (expression_statement "iVar20 = iVar20 * (i.broadcast)->type;" (assignment_expression "iVar20 = iVar20 * (i.broadcast)->type" identifier = (binary_expression "iVar20 * (i.broadcast)->type" identifier * (field_expression "(i.broadcast)->type" (parenthesized_expression "(i.broadcast)" ( (field_expression "i.broadcast" identifier . field_identifier) )) -> field_identifier))) ;)) (if_statement "if (iVar20 == 0x10) {\n                  uVar21 = 8;\n                }\n                else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }" if (parenthesized_expression "(iVar20 == 0x10)" ( (binary_expression "iVar20 == 0x10" identifier == number_literal) )) (compound_statement "{\n                  uVar21 = 8;\n                }" { (expression_statement "uVar21 = 8;" (assignment_expression "uVar21 = 8" identifier = number_literal) ;) }) (else_clause "else if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }" else (if_statement "if (iVar20 < 0x11) {\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }" if (parenthesized_expression "(iVar20 < 0x11)" ( (binary_expression "iVar20 < 0x11" identifier < number_literal) )) (compound_statement "{\n                  uVar21 = 2;\n                  if (iVar20 != 8) goto LAB_0004c7c9;\n                }" { (expression_statement "uVar21 = 2;" (assignment_expression "uVar21 = 2" identifier = number_literal) ;) (if_statement "if (iVar20 != 8) goto LAB_0004c7c9;" if (parenthesized_expression "(iVar20 != 8)" ( (binary_expression "iVar20 != 8" identifier != number_literal) )) (goto_statement "goto LAB_0004c7c9;" goto statement_identifier ;)) }) (else_clause "else if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }" else (if_statement "if (iVar20 == 0x20) {\n                  uVar21 = 0x10;\n                }\n                else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }" if (parenthesized_expression "(iVar20 == 0x20)" ( (binary_expression "iVar20 == 0x20" identifier == number_literal) )) (compound_statement "{\n                  uVar21 = 0x10;\n                }" { (expression_statement "uVar21 = 0x10;" (assignment_expression "uVar21 = 0x10" identifier = number_literal) ;) }) (else_clause "else {\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }" else (compound_statement "{\n                  uVar21 = 0x20;\n                  if (iVar20 != 0x40) goto LAB_0004c7c9;\n                }" { (expression_statement "uVar21 = 0x20;" (assignment_expression "uVar21 = 0x20" identifier = number_literal) ;) (if_statement "if (iVar20 != 0x40) goto LAB_0004c7c9;" if (parenthesized_expression "(iVar20 != 0x40)" ( (binary_expression "iVar20 != 0x40" identifier != number_literal) )) (goto_statement "goto LAB_0004c7c9;" goto statement_identifier ;)) }))))))) (if_statement "if ((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0) {\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }" if (parenthesized_expression "((*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0)" ( (binary_expression "(*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21) != 0" (parenthesized_expression "(*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21)" ( (binary_expression "*(uint *)((int)t->operand_types + local_d4 * 8 + 4) & uVar21" (pointer_expression "*(uint *)((int)t->operand_types + local_d4 * 8 + 4)" * (cast_expression "(uint *)((int)t->operand_types + local_d4 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + local_d4 * 8 + 4)" ( (binary_expression "(int)t->operand_types + local_d4 * 8 + 4" (binary_expression "(int)t->operand_types + local_d4 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) & identifier) )) != number_literal) )) (compound_statement "{\n                  if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }\n                  goto LAB_0004d08c;\n                }" { (if_statement "if ((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }" if (parenthesized_expression "((((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0))" ( (binary_expression "(((t->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)" (parenthesized_expression "(((t->opcode_modifier).field_0x1 & 0x40) != 0)" ( (binary_expression "((t->opcode_modifier).field_0x1 & 0x40) != 0" (parenthesized_expression "((t->opcode_modifier).field_0x1 & 0x40)" ( (binary_expression "(t->opcode_modifier).field_0x1 & 0x40" (field_expression "(t->opcode_modifier).field_0x1" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(i.operands != 0)" ( (binary_expression "i.operands != 0" (field_expression "i.operands" identifier . field_identifier) != number_literal) ))) )) (compound_statement "{\n                    uVar35 = 0;\n                    do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);\n                  }" { (expression_statement "uVar35 = 0;" (assignment_expression "uVar35 = 0" identifier = number_literal) ;) (do_statement "do {\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    } while (uVar35 != i.operands);" do (compound_statement "{\n                      if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      uVar35 = uVar35 + 1;\n                    }" { (if_statement "if (local_d4 != uVar35) {\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }" if (parenthesized_expression "(local_d4 != uVar35)" ( (binary_expression "local_d4 != uVar35" identifier != identifier) )) (compound_statement "{\n                        iVar20 = uVar35 * 8;\n                        uVar31 = i.types[uVar35].array[0];\n                        uVar30 = *(uint *)((int)i.types + iVar20 + 4);\n                        bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);\n                        bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);\n                        bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);\n                        if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }" { (expression_statement "iVar20 = uVar35 * 8;" (assignment_expression "iVar20 = uVar35 * 8" identifier = (binary_expression "uVar35 * 8" identifier * number_literal)) ;) (expression_statement "uVar31 = i.types[uVar35].array[0];" (assignment_expression "uVar31 = i.types[uVar35].array[0]" identifier = (subscript_expression "i.types[uVar35].array[0]" (field_expression "i.types[uVar35].array" (subscript_expression "i.types[uVar35]" (field_expression "i.types" identifier . field_identifier) [ identifier ]) . field_identifier) [ number_literal ])) ;) (expression_statement "uVar30 = *(uint *)((int)i.types + iVar20 + 4);" (assignment_expression "uVar30 = *(uint *)((int)i.types + iVar20 + 4)" identifier = (pointer_expression "*(uint *)((int)i.types + iVar20 + 4)" * (cast_expression "(uint *)((int)i.types + iVar20 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + iVar20 + 4)" ( (binary_expression "(int)i.types + iVar20 + 4" (binary_expression "(int)i.types + iVar20" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4);" (assignment_expression "bVar19 = *(byte *)((int)t->operand_types + iVar20 + 4)" identifier = (pointer_expression "*(byte *)((int)t->operand_types + iVar20 + 4)" * (cast_expression "(byte *)((int)t->operand_types + iVar20 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + iVar20 + 4)" ( (binary_expression "(int)t->operand_types + iVar20 + 4" (binary_expression "(int)t->operand_types + iVar20" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + identifier) + number_literal) ))))) ;) (expression_statement "bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3);" (assignment_expression "bVar2 = *(byte *)((int)t->operand_types + local_d4 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)t->operand_types + local_d4 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + local_d4 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + local_d4 * 8 + 3)" ( (binary_expression "(int)t->operand_types + local_d4 * 8 + 3" (binary_expression "(int)t->operand_types + local_d4 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4);" (assignment_expression "bVar29 = *(byte *)((int)t->operand_types + local_d4 * 8 + 4)" identifier = (pointer_expression "*(byte *)((int)t->operand_types + local_d4 * 8 + 4)" * (cast_expression "(byte *)((int)t->operand_types + local_d4 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + local_d4 * 8 + 4)" ( (binary_expression "(int)t->operand_types + local_d4 * 8 + 4" (binary_expression "(int)t->operand_types + local_d4 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;" if (parenthesized_expression "(((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0))))))" ( (binary_expression "((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))) &&\n                           ((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))" (parenthesized_expression "((((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0))))))" ( (binary_expression "(((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))) &&\n                            (((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))" (parenthesized_expression "(((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0))))" ( (binary_expression "((uVar31 & 5) != 0) ||\n                             ((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))" (parenthesized_expression "((uVar31 & 5) != 0)" ( (binary_expression "(uVar31 & 5) != 0" (parenthesized_expression "(uVar31 & 5)" ( (binary_expression "uVar31 & 5" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)))" ( (parenthesized_expression "(((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0))" ( (binary_expression "((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)) &&\n                              ((t->operand_types[uVar35].array[0] & 4) != 0)" (parenthesized_expression "((uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0))" ( (binary_expression "(uVar31 >> 0x10 & 0x5f) != 0 && ((uVar30 & 0x40) == 0)" (binary_expression "(uVar31 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(uVar31 >> 0x10 & 0x5f)" ( (binary_expression "uVar31 >> 0x10 & 0x5f" (binary_expression "uVar31 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((uVar30 & 0x40) == 0)" ( (binary_expression "(uVar30 & 0x40) == 0" (parenthesized_expression "(uVar30 & 0x40)" ( (binary_expression "uVar30 & 0x40" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((t->operand_types[uVar35].array[0] & 4) != 0)" ( (binary_expression "(t->operand_types[uVar35].array[0] & 4) != 0" (parenthesized_expression "(t->operand_types[uVar35].array[0] & 4)" ( (binary_expression "t->operand_types[uVar35].array[0] & 4" (subscript_expression "t->operand_types[uVar35].array[0]" (field_expression "t->operand_types[uVar35].array" (subscript_expression "t->operand_types[uVar35]" (field_expression "t->operand_types" identifier -> field_identifier) [ identifier ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "(((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))))" ( (parenthesized_expression "((t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0))))" ( (binary_expression "(t->operand_types[local_d4].array[0] & 4) != 0 &&\n                             ((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))" (binary_expression "(t->operand_types[local_d4].array[0] & 4) != 0" (parenthesized_expression "(t->operand_types[local_d4].array[0] & 4)" ( (binary_expression "t->operand_types[local_d4].array[0] & 4" (subscript_expression "t->operand_types[local_d4].array[0]" (field_expression "t->operand_types[local_d4].array" (subscript_expression "t->operand_types[local_d4]" (field_expression "t->operand_types" identifier -> field_identifier) [ identifier ]) . field_identifier) [ number_literal ]) & number_literal) )) != number_literal) && (parenthesized_expression "((((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)))" ( (parenthesized_expression "(((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0))" ( (binary_expression "((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)) ||\n                              (((uVar30 ^ uVar21) & 0x3a) != 0)" (parenthesized_expression "((uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0))" ( (binary_expression "(uVar31 >> 0x18 & 0x60) != 0 || ((int)uVar31 < 0)" (binary_expression "(uVar31 >> 0x18 & 0x60) != 0" (parenthesized_expression "(uVar31 >> 0x18 & 0x60)" ( (binary_expression "uVar31 >> 0x18 & 0x60" (binary_expression "uVar31 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal) || (parenthesized_expression "((int)uVar31 < 0)" ( (binary_expression "(int)uVar31 < 0" (cast_expression "(int)uVar31" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) || (parenthesized_expression "(((uVar30 ^ uVar21) & 0x3a) != 0)" ( (binary_expression "((uVar30 ^ uVar21) & 0x3a) != 0" (parenthesized_expression "((uVar30 ^ uVar21) & 0x3a)" ( (binary_expression "(uVar30 ^ uVar21) & 0x3a" (parenthesized_expression "(uVar30 ^ uVar21)" ( (binary_expression "uVar30 ^ uVar21" identifier ^ identifier) )) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) && (parenthesized_expression "((((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))))" ( (parenthesized_expression "(((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0))))" ( (binary_expression "((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))) ||\n                            (((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))" (parenthesized_expression "((((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0))))" ( (binary_expression "(((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              ) || (((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))" (parenthesized_expression "(((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')\n                              )" ( (binary_expression "((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)) ||\n                              ((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')" (parenthesized_expression "((bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0))" ( (binary_expression "(bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0 ||\n                               ((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)" (binary_expression "(bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1) != 0" (parenthesized_expression "(bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1)" ( (binary_expression "bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5 & 1" (binary_expression "bVar2 >> 5 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 5" (binary_expression "bVar2 >> 5 & 1" (binary_expression "bVar2 >> 5" identifier >> number_literal) & number_literal) & (binary_expression "*(byte *)((int)t->operand_types + iVar20 + 3) >> 5" (pointer_expression "*(byte *)((int)t->operand_types + iVar20 + 3)" * (cast_expression "(byte *)((int)t->operand_types + iVar20 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + iVar20 + 3)" ( (binary_expression "(int)t->operand_types + iVar20 + 3" (binary_expression "(int)t->operand_types + iVar20" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + identifier) + number_literal) )))) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0)" ( (binary_expression "(bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1) != 0" (parenthesized_expression "(bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1)" ( (binary_expression "bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6 & 1" (binary_expression "bVar2 >> 6 & 1 &\n                                *(byte *)((int)t->operand_types + iVar20 + 3) >> 6" (binary_expression "bVar2 >> 6 & 1" (binary_expression "bVar2 >> 6" identifier >> number_literal) & number_literal) & (binary_expression "*(byte *)((int)t->operand_types + iVar20 + 3) >> 6" (pointer_expression "*(byte *)((int)t->operand_types + iVar20 + 3)" * (cast_expression "(byte *)((int)t->operand_types + iVar20 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + iVar20 + 3)" ( (binary_expression "(int)t->operand_types + iVar20 + 3" (binary_expression "(int)t->operand_types + iVar20" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + identifier) + number_literal) )))) >> number_literal)) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0')" ( (binary_expression "(char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)) < '\0'" (cast_expression "(char)(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3))" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3))" ( (binary_expression "bVar2 & *(byte *)((int)t->operand_types + iVar20 + 3)" identifier & (pointer_expression "*(byte *)((int)t->operand_types + iVar20 + 3)" * (cast_expression "(byte *)((int)t->operand_types + iVar20 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + iVar20 + 3)" ( (binary_expression "(int)t->operand_types + iVar20 + 3" (binary_expression "(int)t->operand_types + iVar20" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + identifier) + number_literal) ))))) ))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)))" ( (parenthesized_expression "((bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0))" ( (binary_expression "(bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0 ||\n                                    ((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)" (binary_expression "(bVar29 >> 1 & 1 & bVar19 >> 1 & 1) != 0" (parenthesized_expression "(bVar29 >> 1 & 1 & bVar19 >> 1 & 1)" ( (binary_expression "bVar29 >> 1 & 1 & bVar19 >> 1 & 1" (binary_expression "bVar29 >> 1 & 1 & bVar19 >> 1" (binary_expression "bVar29 >> 1 & 1" (binary_expression "bVar29 >> 1" identifier >> number_literal) & number_literal) & (binary_expression "bVar19 >> 1" identifier >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0)" ( (binary_expression "(bVar29 >> 3 & 1 & bVar19 >> 3 & 1) != 0" (parenthesized_expression "(bVar29 >> 3 & 1 & bVar19 >> 3 & 1)" ( (binary_expression "bVar29 >> 3 & 1 & bVar19 >> 3 & 1" (binary_expression "bVar29 >> 3 & 1 & bVar19 >> 3" (binary_expression "bVar29 >> 3 & 1" (binary_expression "bVar29 >> 3" identifier >> number_literal) & number_literal) & (binary_expression "bVar19 >> 3" identifier >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)))" ( (parenthesized_expression "((bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0))" ( (binary_expression "(bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0 ||\n                             ((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)" (binary_expression "(bVar29 >> 4 & 1 & bVar19 >> 4 & 1) != 0" (parenthesized_expression "(bVar29 >> 4 & 1 & bVar19 >> 4 & 1)" ( (binary_expression "bVar29 >> 4 & 1 & bVar19 >> 4 & 1" (binary_expression "bVar29 >> 4 & 1 & bVar19 >> 4" (binary_expression "bVar29 >> 4 & 1" (binary_expression "bVar29 >> 4" identifier >> number_literal) & number_literal) & (binary_expression "bVar19 >> 4" identifier >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0)" ( (binary_expression "(bVar19 >> 5 & 1 & bVar29 >> 5 & 1) != 0" (parenthesized_expression "(bVar19 >> 5 & 1 & bVar29 >> 5 & 1)" ( (binary_expression "bVar19 >> 5 & 1 & bVar29 >> 5 & 1" (binary_expression "bVar19 >> 5 & 1 & bVar29 >> 5" (binary_expression "bVar19 >> 5 & 1" (binary_expression "bVar19 >> 5" identifier >> number_literal) & number_literal) & (binary_expression "bVar29 >> 5" identifier >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004c7c9;" goto statement_identifier ;)) })) (expression_statement "uVar35 = uVar35 + 1;" (assignment_expression "uVar35 = uVar35 + 1" identifier = (binary_expression "uVar35 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar35 != i.operands)" ( (binary_expression "uVar35 != i.operands" identifier != (field_expression "i.operands" identifier . field_identifier)) )) ;) })) (goto_statement "goto LAB_0004d08c;" goto statement_identifier ;) })) }))) })) })) (labeled_statement "LAB_0004c7c9:\n          i.error = unsupported_broadcast;" statement_identifier : (expression_statement "i.error = unsupported_broadcast;" (assignment_expression "i.error = unsupported_broadcast" (field_expression "i.error" identifier . field_identifier) = identifier) ;)) (expression_statement "local_e0 = unsupported_broadcast;" (assignment_expression "local_e0 = unsupported_broadcast" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (((bVar26 & 0x20) == 0) || (i.mem_operands == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }" if (parenthesized_expression "(((bVar26 & 0x20) == 0) || (i.mem_operands == 0))" ( (binary_expression "((bVar26 & 0x20) == 0) || (i.mem_operands == 0)" (parenthesized_expression "((bVar26 & 0x20) == 0)" ( (binary_expression "(bVar26 & 0x20) == 0" (parenthesized_expression "(bVar26 & 0x20)" ( (binary_expression "bVar26 & 0x20" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(i.mem_operands == 0)" ( (binary_expression "i.mem_operands == 0" (field_expression "i.mem_operands" identifier . field_identifier) == number_literal) ))) )) (compound_statement "{\n          local_d4 = 4;\n        }" { (expression_statement "local_d4 = 4;" (assignment_expression "local_d4 = 4" identifier = number_literal) ;) }) (else_clause "else {\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }" else (compound_statement "{\n          if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }\n          if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }\n          if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }\n        }" { (if_statement "if (i.operands == 0) {\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }" if (parenthesized_expression "(i.operands == 0)" ( (binary_expression "i.operands == 0" (field_expression "i.operands" identifier . field_identifier) == number_literal) )) (compound_statement "{\nLAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");\n          }" { (labeled_statement "LAB_0004cfed:\n                    /* WARNING: Subroutine does not return */\n            as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");" statement_identifier : comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x141e,"check_VecOperands")" identifier (argument_list "("../../gas/config/tc-i386.c",0x141e,"check_VecOperands")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") ))) ;)) })) (if_statement "if ((i.types[0].array[0] & 0x5f0000) == 0) {\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }" if (parenthesized_expression "((i.types[0].array[0] & 0x5f0000) == 0)" ( (binary_expression "(i.types[0].array[0] & 0x5f0000) == 0" (parenthesized_expression "(i.types[0].array[0] & 0x5f0000)" ( (binary_expression "i.types[0].array[0] & 0x5f0000" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar21 = 0;\n            do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            } while ((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0);" do (compound_statement "{\n              local_d4 = uVar21 + 1;\n              if (local_d4 == i.operands) goto LAB_0004cfed;\n              iVar20 = uVar21 * 8;\n              uVar21 = local_d4;\n            }" { (expression_statement "local_d4 = uVar21 + 1;" (assignment_expression "local_d4 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (if_statement "if (local_d4 == i.operands) goto LAB_0004cfed;" if (parenthesized_expression "(local_d4 == i.operands)" ( (binary_expression "local_d4 == i.operands" identifier == (field_expression "i.operands" identifier . field_identifier)) )) (goto_statement "goto LAB_0004cfed;" goto statement_identifier ;)) (expression_statement "iVar20 = uVar21 * 8;" (assignment_expression "iVar20 = uVar21 * 8" identifier = (binary_expression "uVar21 * 8" identifier * number_literal)) ;) (expression_statement "uVar21 = local_d4;" (assignment_expression "uVar21 = local_d4" identifier = identifier) ;) }) while (parenthesized_expression "((*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0)" ( (binary_expression "(*(ushort *)((int)i.types + iVar20 + 10) & 0x5f) == 0" (parenthesized_expression "(*(ushort *)((int)i.types + iVar20 + 10) & 0x5f)" ( (binary_expression "*(ushort *)((int)i.types + iVar20 + 10) & 0x5f" (pointer_expression "*(ushort *)((int)i.types + iVar20 + 10)" * (cast_expression "(ushort *)((int)i.types + iVar20 + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + iVar20 + 10)" ( (binary_expression "(int)i.types + iVar20 + 10" (binary_expression "(int)i.types + iVar20" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + identifier) + number_literal) )))) & number_literal) )) == number_literal) )) ;) }) (else_clause "else {\n            local_d4 = 0;\n          }" else (compound_statement "{\n            local_d4 = 0;\n          }" { (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) }))) (if_statement "if (*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0') {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }" if (parenthesized_expression "(*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0')" ( (binary_expression "*(char *)((int)t->operand_types + local_d4 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)t->operand_types + local_d4 * 8 + 3)" * (cast_expression "(char *)((int)t->operand_types + local_d4 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + local_d4 * 8 + 3)" ( (binary_expression "(int)t->operand_types + local_d4 * 8 + 3" (binary_expression "(int)t->operand_types + local_d4 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;\n          }" { (expression_statement "bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7;" (assignment_expression "bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 3) >> 7" identifier = (binary_expression "*(byte *)((int)i.types + local_d4 * 8 + 3) >> 7" (pointer_expression "*(byte *)((int)i.types + local_d4 * 8 + 3)" * (cast_expression "(byte *)((int)i.types + local_d4 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + local_d4 * 8 + 3)" ( (binary_expression "(int)i.types + local_d4 * 8 + 3" (binary_expression "(int)i.types + local_d4 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) >> number_literal)) ;) }) (else_clause "else {\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }" else (compound_statement "{\n            bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;\n          }" { (expression_statement "bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1;" (assignment_expression "bVar19 = *(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1" identifier = (binary_expression "*(byte *)((int)i.types + local_d4 * 8 + 4) >> 1 & 1" (binary_expression "*(byte *)((int)i.types + local_d4 * 8 + 4) >> 1" (pointer_expression "*(byte *)((int)i.types + local_d4 * 8 + 4)" * (cast_expression "(byte *)((int)i.types + local_d4 * 8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + local_d4 * 8 + 4)" ( (binary_expression "(int)i.types + local_d4 * 8 + 4" (binary_expression "(int)i.types + local_d4 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) >> number_literal) & number_literal)) ;) }))) (if_statement "if (bVar19 != 0) {\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "(bVar19 != 0)" ( (binary_expression "bVar19 != 0" identifier != number_literal) )) (compound_statement "{\n            i.error = broadcast_needed;\n            local_e0 = broadcast_needed;\n            goto LAB_0004ba48;\n          }" { (expression_statement "i.error = broadcast_needed;" (assignment_expression "i.error = broadcast_needed" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (expression_statement "local_e0 = broadcast_needed;" (assignment_expression "local_e0 = broadcast_needed" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0004d08c:\n        if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }" statement_identifier : (if_statement "if (i.mask != (Mask_Operation *)0x0) {\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }" if (parenthesized_expression "(i.mask != (Mask_Operation *)0x0)" ( (binary_expression "i.mask != (Mask_Operation *)0x0" (field_expression "i.mask" identifier . field_identifier) != (cast_expression "(Mask_Operation *)0x0" ( (type_descriptor "Mask_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }\n          if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }\n        }" { (if_statement "if (((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))) {\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "(((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10))))" ( (binary_expression "((bVar26 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))" (parenthesized_expression "((bVar26 & 0x18) == 0)" ( (binary_expression "(bVar26 & 0x18) == 0" (parenthesized_expression "(bVar26 & 0x18)" ( (binary_expression "bVar26 & 0x18" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)))" ( (parenthesized_expression "((i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10))" ( (binary_expression "(i.mask)->zeroing != 0 && ((bVar26 & 0x18) == 0x10)" (binary_expression "(i.mask)->zeroing != 0" (field_expression "(i.mask)->zeroing" (parenthesized_expression "(i.mask)" ( (field_expression "i.mask" identifier . field_identifier) )) -> field_identifier) != number_literal) && (parenthesized_expression "((bVar26 & 0x18) == 0x10)" ( (binary_expression "(bVar26 & 0x18) == 0x10" (parenthesized_expression "(bVar26 & 0x18)" ( (binary_expression "bVar26 & 0x18" identifier & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n            i.error = unsupported_masking;\n            local_e0 = unsupported_masking;\n            goto LAB_0004ba48;\n          }" { (expression_statement "i.error = unsupported_masking;" (assignment_expression "i.error = unsupported_masking" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (expression_statement "local_e0 = unsupported_masking;" (assignment_expression "local_e0 = unsupported_masking" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if ((i.mask)->operand != i.operands - 1) {\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "((i.mask)->operand != i.operands - 1)" ( (binary_expression "(i.mask)->operand != i.operands - 1" (field_expression "(i.mask)->operand" (parenthesized_expression "(i.mask)" ( (field_expression "i.mask" identifier . field_identifier) )) -> field_identifier) != (binary_expression "i.operands - 1" (field_expression "i.operands" identifier . field_identifier) - number_literal)) )) (compound_statement "{\n            i.error = mask_not_on_destination;\n            local_e0 = mask_not_on_destination;\n            goto LAB_0004ba48;\n          }" { (expression_statement "i.error = mask_not_on_destination;" (assignment_expression "i.error = mask_not_on_destination" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (expression_statement "local_e0 = mask_not_on_destination;" (assignment_expression "local_e0 = mask_not_on_destination" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) }))) (if_statement "if (i.rounding != (RC_Operation *)0x0) {\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }" if (parenthesized_expression "(i.rounding != (RC_Operation *)0x0)" ( (binary_expression "i.rounding != (RC_Operation *)0x0" (field_expression "i.rounding" identifier . field_identifier) != (cast_expression "(RC_Operation *)0x0" ( (type_descriptor "RC_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }\n          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }\n        }" { (if_statement "if ((i.rounding)->type == saeonly) {\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "((i.rounding)->type == saeonly)" ( (binary_expression "(i.rounding)->type == saeonly" (field_expression "(i.rounding)->type" (parenthesized_expression "(i.rounding)" ( (field_expression "i.rounding" identifier . field_identifier) )) -> field_identifier) == identifier) )) (compound_statement "{\n            if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }" { (if_statement "if ((bVar26 & 0xc0) != 0x80) goto LAB_0004dd1c;" if (parenthesized_expression "((bVar26 & 0xc0) != 0x80)" ( (binary_expression "(bVar26 & 0xc0) != 0x80" (parenthesized_expression "(bVar26 & 0xc0)" ( (binary_expression "bVar26 & 0xc0" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004dd1c;" goto statement_identifier ;)) }) (else_clause "else if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }" else (if_statement "if ((bVar26 & 0x40) == 0) {\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "((bVar26 & 0x40) == 0)" ( (binary_expression "(bVar26 & 0x40) == 0" (parenthesized_expression "(bVar26 & 0x40)" ( (binary_expression "bVar26 & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0004dd1c:\n            i.error = unsupported_rc_sae;\n            local_e0 = unsupported_rc_sae;\n            goto LAB_0004ba48;\n          }" { (labeled_statement "LAB_0004dd1c:\n            i.error = unsupported_rc_sae;" statement_identifier : (expression_statement "i.error = unsupported_rc_sae;" (assignment_expression "i.error = unsupported_rc_sae" (field_expression "i.error" identifier . field_identifier) = identifier) ;)) (expression_statement "local_e0 = unsupported_rc_sae;" (assignment_expression "local_e0 = unsupported_rc_sae" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })))) (if_statement "if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1))" ( (binary_expression "(1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)" (parenthesized_expression "(1 < i.imm_operands)" ( (binary_expression "1 < i.imm_operands" number_literal < (field_expression "i.imm_operands" identifier . field_identifier)) )) && (parenthesized_expression "((i.rounding)->operand != i.imm_operands - 1)" ( (binary_expression "(i.rounding)->operand != i.imm_operands - 1" (field_expression "(i.rounding)->operand" (parenthesized_expression "(i.rounding)" ( (field_expression "i.rounding" identifier . field_identifier) )) -> field_identifier) != (binary_expression "i.imm_operands - 1" (field_expression "i.imm_operands" identifier . field_identifier) - number_literal)) ))) )) (compound_statement "{\n            i.error = rc_sae_operand_not_last_imm;\n            local_e0 = rc_sae_operand_not_last_imm;\n            goto LAB_0004ba48;\n          }" { (expression_statement "i.error = rc_sae_operand_not_last_imm;" (assignment_expression "i.error = rc_sae_operand_not_last_imm" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (expression_statement "local_e0 = rc_sae_operand_not_last_imm;" (assignment_expression "local_e0 = rc_sae_operand_not_last_imm" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) })) (expression_statement "bVar26 = (t->opcode_modifier).field_0x8;" (assignment_expression "bVar26 = (t->opcode_modifier).field_0x8" identifier = (field_expression "(t->opcode_modifier).field_0x8" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "i.memshift = bVar26 & 7;" (assignment_expression "i.memshift = bVar26 & 7" (field_expression "i.memshift" identifier . field_identifier) = (binary_expression "bVar26 & 7" identifier & number_literal)) ;) (if_statement "if (((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)) {\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }" if (parenthesized_expression "(((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386))" ( (binary_expression "((bVar26 & 7) != 0) && (i.disp_encoding != Cpu386)" (parenthesized_expression "((bVar26 & 7) != 0)" ( (binary_expression "(bVar26 & 7) != 0" (parenthesized_expression "(bVar26 & 7)" ( (binary_expression "bVar26 & 7" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(i.disp_encoding != Cpu386)" ( (binary_expression "i.disp_encoding != Cpu386" (field_expression "i.disp_encoding" identifier . field_identifier) != identifier) ))) )) (compound_statement "{\n          if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }\n          if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }\n        }" { (if_statement "if (i.broadcast != (Broadcast_Operation *)0x0) {\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }" if (parenthesized_expression "(i.broadcast != (Broadcast_Operation *)0x0)" ( (binary_expression "i.broadcast != (Broadcast_Operation *)0x0" (field_expression "i.broadcast" identifier . field_identifier) != (cast_expression "(Broadcast_Operation *)0x0" ( (type_descriptor "Broadcast_Operation *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;\n          }" { (expression_statement "i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3;" (assignment_expression "i.memshift = ((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3" (field_expression "i.memshift" identifier . field_identifier) = (binary_expression "((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f) + 3" (parenthesized_expression "((int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f)" ( (binary_expression "(int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f) >> 0x1f" (cast_expression "(int)((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f)" ( (binary_expression "(uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7) <<\n                               0x1f" (call_expression "(uint)(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7)" ( (binary_expression "*(byte *)((int)t->operand_types + local_d4 * 8 + 3) >> 7" (pointer_expression "*(byte *)((int)t->operand_types + local_d4 * 8 + 3)" * (cast_expression "(byte *)((int)t->operand_types + local_d4 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)t->operand_types + local_d4 * 8 + 3)" ( (binary_expression "(int)t->operand_types + local_d4 * 8 + 3" (binary_expression "(int)t->operand_types + local_d4 * 8" (cast_expression "(int)t->operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "t->operand_types" identifier -> field_identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) >> number_literal) ))) << number_literal) ))) >> number_literal) )) + number_literal)) ;) })) (if_statement "if (i.operands != 0) {\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }" if (parenthesized_expression "(i.operands != 0)" ( (binary_expression "i.operands != 0" (field_expression "i.operands" identifier . field_identifier) != number_literal) )) (compound_statement "{\n            uVar21 = 0;\n            do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            } while (uVar21 != uVar33);" do (compound_statement "{\n              if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }\n              uVar21 = uVar21 + 1;\n            }" { (if_statement "if (((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')) {\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }" if (parenthesized_expression "(((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02'))" ( (binary_expression "((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0) &&\n                 (peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')" (parenthesized_expression "((*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0)" ( (binary_expression "(*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f) != 0" (parenthesized_expression "(*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f)" ( (binary_expression "*(byte *)((int)i.types + uVar21 * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((int)i.types + uVar21 * 8 + 2)" * (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 2)" ( (binary_expression "(int)i.types + uVar21 * 8 + 2" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02')" ( (comma_expression "peVar6 = i.op[uVar21].disps, peVar6->field_0x10 == '\x02'" (assignment_expression "peVar6 = i.op[uVar21].disps" identifier = (field_expression "i.op[uVar21].disps" (subscript_expression "i.op[uVar21]" (field_expression "i.op" identifier . field_identifier) [ identifier ]) . field_identifier)) , (binary_expression "peVar6->field_0x10 == '\x02'" (field_expression "peVar6->field_0x10" identifier -> field_identifier) == (char_literal "'\x02'" ' escape_sequence '))) ))) )) (compound_statement "{\n                iVar20 = *(int *)((int)&peVar6->X_add_number + 4);\n                uVar35 = (uint)peVar6->X_add_number;\n                if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }\n                bVar26 = (byte)i.memshift;\n                if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                *pbVar1 = *pbVar1 & 0xfe;\n              }" { (expression_statement "iVar20 = *(int *)((int)&peVar6->X_add_number + 4);" (assignment_expression "iVar20 = *(int *)((int)&peVar6->X_add_number + 4)" identifier = (pointer_expression "*(int *)((int)&peVar6->X_add_number + 4)" * (cast_expression "(int *)((int)&peVar6->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&peVar6->X_add_number + 4)" ( (binary_expression "(int)&peVar6->X_add_number + 4" (cast_expression "(int)&peVar6->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&peVar6->X_add_number" & (field_expression "peVar6->X_add_number" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar35 = (uint)peVar6->X_add_number;" (assignment_expression "uVar35 = (uint)peVar6->X_add_number" identifier = (cast_expression "(uint)peVar6->X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "peVar6->X_add_number" identifier -> field_identifier))) ;) (if_statement "if (i.memshift == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }" if (parenthesized_expression "(i.memshift == 0xffffffff)" ( (binary_expression "i.memshift == 0xffffffff" (field_expression "i.memshift" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");\n                }" { comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x896,"fits_in_disp8")" identifier (argument_list "("../../gas/config/tc-i386.c",0x896,"fits_in_disp8")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""fits_in_disp8"" " string_content ") ))) ;) })) (expression_statement "bVar26 = (byte)i.memshift;" (assignment_expression "bVar26 = (byte)i.memshift" identifier = (cast_expression "(byte)i.memshift" ( (type_descriptor "byte" type_identifier) ) (field_expression "i.memshift" identifier . field_identifier))) ;) (if_statement "if (((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0) {\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }" if (parenthesized_expression "(((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0)" ( (binary_expression "((1 << (bVar26 & 0x1f)) - 1U & uVar35) == 0" (parenthesized_expression "((1 << (bVar26 & 0x1f)) - 1U & uVar35)" ( (binary_expression "(1 << (bVar26 & 0x1f)) - 1U & uVar35" (binary_expression "(1 << (bVar26 & 0x1f)) - 1U" (parenthesized_expression "(1 << (bVar26 & 0x1f))" ( (binary_expression "1 << (bVar26 & 0x1f)" number_literal << (parenthesized_expression "(bVar26 & 0x1f)" ( (binary_expression "bVar26 & 0x1f" identifier & number_literal) ))) )) - number_literal) & identifier) )) == number_literal) )) (compound_statement "{\n                  uVar30 = iVar20 >> (bVar26 & 0x1f);\n                  uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);\n                  uVar31 = uVar30;\n                  if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }\n                  iVar20 = uVar31 + (0xffffff7f < uVar35);\n                  if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }\n                }" { (expression_statement "uVar30 = iVar20 >> (bVar26 & 0x1f);" (assignment_expression "uVar30 = iVar20 >> (bVar26 & 0x1f)" identifier = (binary_expression "iVar20 >> (bVar26 & 0x1f)" identifier >> (parenthesized_expression "(bVar26 & 0x1f)" ( (binary_expression "bVar26 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f);" (assignment_expression "uVar35 = uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f)" identifier = (binary_expression "uVar35 >> (bVar26 & 0x1f) | iVar20 << 0x20 - (bVar26 & 0x1f)" (binary_expression "uVar35 >> (bVar26 & 0x1f)" identifier >> (parenthesized_expression "(bVar26 & 0x1f)" ( (binary_expression "bVar26 & 0x1f" identifier & number_literal) ))) | (binary_expression "iVar20 << 0x20 - (bVar26 & 0x1f)" identifier << (binary_expression "0x20 - (bVar26 & 0x1f)" number_literal - (parenthesized_expression "(bVar26 & 0x1f)" ( (binary_expression "bVar26 & 0x1f" identifier & number_literal) )))))) ;) (expression_statement "uVar31 = uVar30;" (assignment_expression "uVar31 = uVar30" identifier = identifier) ;) (if_statement "if ((i.memshift & 0x20) != 0) {\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }" if (parenthesized_expression "((i.memshift & 0x20) != 0)" ( (binary_expression "(i.memshift & 0x20) != 0" (parenthesized_expression "(i.memshift & 0x20)" ( (binary_expression "i.memshift & 0x20" (field_expression "i.memshift" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar31 = (int)uVar30 >> 0x1f;\n                    uVar35 = uVar30;\n                  }" { (expression_statement "uVar31 = (int)uVar30 >> 0x1f;" (assignment_expression "uVar31 = (int)uVar30 >> 0x1f" identifier = (binary_expression "(int)uVar30 >> 0x1f" (cast_expression "(int)uVar30" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "uVar35 = uVar30;" (assignment_expression "uVar35 = uVar30" identifier = identifier) ;) })) (expression_statement "iVar20 = uVar31 + (0xffffff7f < uVar35);" (assignment_expression "iVar20 = uVar31 + (0xffffff7f < uVar35)" identifier = (binary_expression "uVar31 + (0xffffff7f < uVar35)" identifier + (parenthesized_expression "(0xffffff7f < uVar35)" ( (binary_expression "0xffffff7f < uVar35" number_literal < identifier) )))) ;) (if_statement "if (iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20) {\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }" if (parenthesized_expression "(iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20)" ( (binary_expression "iVar20 == 0 && (uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20" (binary_expression "iVar20 == 0" identifier == number_literal) && (binary_expression "(uint)(0xff < uVar35 + 0x80) <= (uint)-iVar20" (call_expression "(uint)(0xff < uVar35 + 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff < uVar35 + 0x80)" ( (binary_expression "0xff < uVar35 + 0x80" number_literal < (binary_expression "uVar35 + 0x80" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar20" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n                    pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);\n                    *pbVar1 = *pbVar1 | 1;\n                    goto LAB_0004d657;\n                  }" { (expression_statement "pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);" (assignment_expression "pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2)" identifier = (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 2)" ( (binary_expression "(int)i.types + uVar21 * 8 + 2" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar1 = *pbVar1 | 1;" (assignment_expression "*pbVar1 = *pbVar1 | 1" (pointer_expression "*pbVar1" * identifier) = (binary_expression "*pbVar1 | 1" (pointer_expression "*pbVar1" * identifier) | number_literal)) ;) (goto_statement "goto LAB_0004d657;" goto statement_identifier ;) })) })) (expression_statement "pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2);" (assignment_expression "pbVar1 = (byte *)((int)i.types + uVar21 * 8 + 2)" identifier = (cast_expression "(byte *)((int)i.types + uVar21 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.types + uVar21 * 8 + 2)" ( (binary_expression "(int)i.types + uVar21 * 8 + 2" (binary_expression "(int)i.types + uVar21 * 8" (cast_expression "(int)i.types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.types" identifier . field_identifier)) + (binary_expression "uVar21 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar1 = *pbVar1 & 0xfe;" (assignment_expression "*pbVar1 = *pbVar1 & 0xfe" (pointer_expression "*pbVar1" * identifier) = (binary_expression "*pbVar1 & 0xfe" (pointer_expression "*pbVar1" * identifier) & number_literal)) ;) })) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar21 != uVar33)" ( (binary_expression "uVar21 != uVar33" identifier != identifier) )) ;) })) })) (expression_statement "i.memshift = 0;" (assignment_expression "i.memshift = 0" (field_expression "i.memshift" identifier . field_identifier) = number_literal) ;) }))) (labeled_statement "LAB_0004d657:\n      if (i.vec_encoding == Cpu486) {\n        if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;\n      }\n      else {\n        if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }\n        if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }\n      }" statement_identifier : (if_statement "if (i.vec_encoding == Cpu486) {\n        if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;\n      }\n      else {\n        if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }\n        if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }\n      }" if (parenthesized_expression "(i.vec_encoding == Cpu486)" ( (binary_expression "i.vec_encoding == Cpu486" (field_expression "i.vec_encoding" identifier . field_identifier) == identifier) )) (compound_statement "{\n        if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;\n      }" { (if_statement "if ((t->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;" if (parenthesized_expression "((t->opcode_modifier).field_0x7 != '\0')" ( (binary_expression "(t->opcode_modifier).field_0x7 != '\0'" (field_expression "(t->opcode_modifier).field_0x7" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004d671;" goto statement_identifier ;)) }) (else_clause "else {\n        if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }\n        if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }\n      }" else (compound_statement "{\n        if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }\n        if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }\n      }" { (if_statement "if (((t->opcode_modifier).field_0x5 & 6) != 0) {\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }" if (parenthesized_expression "(((t->opcode_modifier).field_0x5 & 6) != 0)" ( (binary_expression "((t->opcode_modifier).field_0x5 & 6) != 0" (parenthesized_expression "((t->opcode_modifier).field_0x5 & 6)" ( (binary_expression "(t->opcode_modifier).field_0x5 & 6" (field_expression "(t->opcode_modifier).field_0x5" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;\n          if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }\n          i.error = bad_imm4;\n          local_e0 = bad_imm4;\n          goto LAB_0004ba48;\n        }" { (if_statement "if (((ulonglong)t->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;" if (parenthesized_expression "(((ulonglong)t->operand_types[0] & 0x10000000000) == 0)" ( (binary_expression "((ulonglong)t->operand_types[0] & 0x10000000000) == 0" (parenthesized_expression "((ulonglong)t->operand_types[0] & 0x10000000000)" ( (binary_expression "(ulonglong)t->operand_types[0] & 0x10000000000" (cast_expression "(ulonglong)t->operand_types[0]" ( (type_descriptor "ulonglong" type_identifier) ) (subscript_expression "t->operand_types[0]" (field_expression "t->operand_types" identifier -> field_identifier) [ number_literal ])) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004d671;" goto statement_identifier ;)) (if_statement "if (((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }" if (parenthesized_expression "(((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0))" ( (binary_expression "((i.op[0].disps)->field_0x10 == '\x02') &&\n             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)" (parenthesized_expression "((i.op[0].disps)->field_0x10 == '\x02')" ( (binary_expression "(i.op[0].disps)->field_0x10 == '\x02'" (field_expression "(i.op[0].disps)->field_0x10" (parenthesized_expression "(i.op[0].disps)" ( (field_expression "i.op[0].disps" (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) && (parenthesized_expression "(((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)" ( (binary_expression "((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&\n              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0" (binary_expression "((i.op[0].disps)->X_add_number & 0xfffffff0) == 0" (parenthesized_expression "((i.op[0].disps)->X_add_number & 0xfffffff0)" ( (binary_expression "(i.op[0].disps)->X_add_number & 0xfffffff0" (field_expression "(i.op[0].disps)->X_add_number" (parenthesized_expression "(i.op[0].disps)" ( (field_expression "i.op[0].disps" (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier) & number_literal) )) == number_literal) && (binary_expression "*(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0" (pointer_expression "*(int *)((int)&(i.op[0].disps)->X_add_number + 4)" * (cast_expression "(int *)((int)&(i.op[0].disps)->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(i.op[0].disps)->X_add_number + 4)" ( (binary_expression "(int)&(i.op[0].disps)->X_add_number + 4" (cast_expression "(int)&(i.op[0].disps)->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(i.op[0].disps)->X_add_number" & (field_expression "(i.op[0].disps)->X_add_number" (parenthesized_expression "(i.op[0].disps)" ( (field_expression "i.op[0].disps" (subscript_expression "i.op[0]" (field_expression "i.op" identifier . field_identifier) [ number_literal ]) . field_identifier) )) -> field_identifier))) + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n            i.types[0].array[0] = 0;\n            i.types[0].array[1] = 0x100;\n            piVar22 = current_templates->end;\n            goto LAB_0004bec6;\n          }" { (expression_statement "i.types[0].array[0] = 0;" (assignment_expression "i.types[0].array[0] = 0" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "i.types[0].array[1] = 0x100;" (assignment_expression "i.types[0].array[1] = 0x100" (subscript_expression "i.types[0].array[1]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "piVar22 = current_templates->end;" (assignment_expression "piVar22 = current_templates->end" identifier = (field_expression "current_templates->end" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0004bec6;" goto statement_identifier ;) })) (expression_statement "i.error = bad_imm4;" (assignment_expression "i.error = bad_imm4" (field_expression "i.error" identifier . field_identifier) = identifier) ;) (expression_statement "local_e0 = bad_imm4;" (assignment_expression "local_e0 = bad_imm4" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (i.vec_encoding == Cpu186) {\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }" if (parenthesized_expression "(i.vec_encoding == Cpu186)" ( (binary_expression "i.vec_encoding == Cpu186" (field_expression "i.vec_encoding" identifier . field_identifier) == identifier) )) (compound_statement "{\nLAB_0004d671:\n          piVar22 = current_templates->end;\n          goto LAB_0004bec6;\n        }" { (labeled_statement "LAB_0004d671:\n          piVar22 = current_templates->end;" statement_identifier : (expression_statement "piVar22 = current_templates->end;" (assignment_expression "piVar22 = current_templates->end" identifier = (field_expression "current_templates->end" identifier -> field_identifier)) ;)) (goto_statement "goto LAB_0004bec6;" goto statement_identifier ;) })) })))) (labeled_statement "LAB_0004cc2a:\n      i.error = unsupported;" statement_identifier : (expression_statement "i.error = unsupported;" (assignment_expression "i.error = unsupported" (field_expression "i.error" identifier . field_identifier) = identifier) ;)) (expression_statement "local_e0 = unsupported;" (assignment_expression "local_e0 = unsupported" identifier = identifier) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0004cef0:\n  i.error = invalid_vsib_address;" statement_identifier : (expression_statement "i.error = invalid_vsib_address;" (assignment_expression "i.error = invalid_vsib_address" (field_expression "i.error" identifier . field_identifier) = identifier) ;)) (expression_statement "local_e0 = invalid_vsib_address;" (assignment_expression "local_e0 = invalid_vsib_address" identifier = identifier) ;) (labeled_statement "LAB_0004ba48:\n  piVar22 = current_templates->end;" statement_identifier : (expression_statement "piVar22 = current_templates->end;" (assignment_expression "piVar22 = current_templates->end" identifier = (field_expression "current_templates->end" identifier -> field_identifier)) ;)) (expression_statement "piVar32 = t + 1;" (assignment_expression "piVar32 = t + 1" identifier = (binary_expression "t + 1" identifier + number_literal)) ;) (if_statement "if (piVar22 <= t + 1) goto LAB_0004bec0;" if (parenthesized_expression "(piVar22 <= t + 1)" ( (binary_expression "piVar22 <= t + 1" identifier <= (binary_expression "t + 1" identifier + number_literal)) )) (goto_statement "goto LAB_0004bec0;" goto statement_identifier ;)) (goto_statement "goto LAB_0004ba5c;" goto statement_identifier ;) (labeled_statement "LAB_0004bec0:\n  t = t + 1;" statement_identifier : (expression_statement "t = t + 1;" (assignment_expression "t = t + 1" identifier = (binary_expression "t + 1" identifier + number_literal)) ;)) (labeled_statement "LAB_0004bec6:\n  if (piVar22 == t) {\n    if (local_e0 == operand_size_mismatch) {\n      local_e0 = i.error;\n    }\n    switch(local_e0) {\n    case operand_size_mismatch:\n      pcVar24 = "operand size mismatch";\n      break;\n    case operand_type_mismatch:\n      pcVar24 = "operand type mismatch";\n      break;\n    case register_type_mismatch:\n      pcVar24 = "register type mismatch";\n      break;\n    case number_of_operands_mismatch:\n      goto _L3098;\n    case invalid_instruction_suffix:\n      pcVar24 = "invalid instruction suffix";\n      break;\n    case bad_imm4:\n      pcVar24 = "constant doesn\'t fit in 4 bits";\n      break;\n    case unsupported_with_intel_mnemonic:\n      pcVar24 = "unsupported with Intel mnemonic";\n      break;\n    case unsupported_syntax:\n      pcVar24 = "unsupported syntax";\n      break;\n    case unsupported:\n      pcVar23 = current_templates->start->name;\n      pcVar24 = (char *)0x5;\n      format = (char *)dcgettext(0,"unsupported instruction `%s\'",5);\n      goto LAB_0004ca4e;\n    case invalid_vsib_address:\n      pcVar24 = "invalid VSIB address";\n      break;\n    case invalid_vector_register_set:\n      pcVar24 = "mask, index, and destination registers must be distinct";\n      break;\n    case unsupported_vector_index_register:\n      pcVar24 = "unsupported vector index register";\n      break;\n    case unsupported_broadcast:\n      pcVar24 = "unsupported broadcast";\n      break;\n    case broadcast_not_on_src_operand:\n      pcVar24 = "broadcast not on source memory operand";\n      break;\n    case broadcast_needed:\n      pcVar24 = "broadcast is needed for operand of such type";\n      break;\n    case unsupported_masking:\n      pcVar24 = "unsupported masking";\n      break;\n    case mask_not_on_destination:\n      pcVar24 = "mask not on destination operand";\n      break;\n    case no_default_mask:\n      pcVar24 = "default mask isn\'t allowed";\n      break;\n    case unsupported_rc_sae:\n      pcVar24 = "unsupported static rounding/sae";\n      break;\n    case rc_sae_operand_not_last_imm:\n      if (intel_syntax == 0) {\n        pcVar24 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case invalid_register_operand:\n      pcVar24 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x160d,"match_template");\n    }\nLAB_0004ca20:\n    pcVar23 = (char *)dcgettext(0,pcVar24,5);\n    pcVar24 = current_templates->start->name;\n    format = (char *)dcgettext(0,"%s for `%s\'",5);\nLAB_0004ca4e:\n    as_bad(format,pcVar23,pcVar24);\n    return (insn_template *)0x0;\n  }" statement_identifier : (if_statement "if (piVar22 == t) {\n    if (local_e0 == operand_size_mismatch) {\n      local_e0 = i.error;\n    }\n    switch(local_e0) {\n    case operand_size_mismatch:\n      pcVar24 = "operand size mismatch";\n      break;\n    case operand_type_mismatch:\n      pcVar24 = "operand type mismatch";\n      break;\n    case register_type_mismatch:\n      pcVar24 = "register type mismatch";\n      break;\n    case number_of_operands_mismatch:\n      goto _L3098;\n    case invalid_instruction_suffix:\n      pcVar24 = "invalid instruction suffix";\n      break;\n    case bad_imm4:\n      pcVar24 = "constant doesn\'t fit in 4 bits";\n      break;\n    case unsupported_with_intel_mnemonic:\n      pcVar24 = "unsupported with Intel mnemonic";\n      break;\n    case unsupported_syntax:\n      pcVar24 = "unsupported syntax";\n      break;\n    case unsupported:\n      pcVar23 = current_templates->start->name;\n      pcVar24 = (char *)0x5;\n      format = (char *)dcgettext(0,"unsupported instruction `%s\'",5);\n      goto LAB_0004ca4e;\n    case invalid_vsib_address:\n      pcVar24 = "invalid VSIB address";\n      break;\n    case invalid_vector_register_set:\n      pcVar24 = "mask, index, and destination registers must be distinct";\n      break;\n    case unsupported_vector_index_register:\n      pcVar24 = "unsupported vector index register";\n      break;\n    case unsupported_broadcast:\n      pcVar24 = "unsupported broadcast";\n      break;\n    case broadcast_not_on_src_operand:\n      pcVar24 = "broadcast not on source memory operand";\n      break;\n    case broadcast_needed:\n      pcVar24 = "broadcast is needed for operand of such type";\n      break;\n    case unsupported_masking:\n      pcVar24 = "unsupported masking";\n      break;\n    case mask_not_on_destination:\n      pcVar24 = "mask not on destination operand";\n      break;\n    case no_default_mask:\n      pcVar24 = "default mask isn\'t allowed";\n      break;\n    case unsupported_rc_sae:\n      pcVar24 = "unsupported static rounding/sae";\n      break;\n    case rc_sae_operand_not_last_imm:\n      if (intel_syntax == 0) {\n        pcVar24 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case invalid_register_operand:\n      pcVar24 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x160d,"match_template");\n    }\nLAB_0004ca20:\n    pcVar23 = (char *)dcgettext(0,pcVar24,5);\n    pcVar24 = current_templates->start->name;\n    format = (char *)dcgettext(0,"%s for `%s\'",5);\nLAB_0004ca4e:\n    as_bad(format,pcVar23,pcVar24);\n    return (insn_template *)0x0;\n  }" if (parenthesized_expression "(piVar22 == t)" ( (binary_expression "piVar22 == t" identifier == identifier) )) (compound_statement "{\n    if (local_e0 == operand_size_mismatch) {\n      local_e0 = i.error;\n    }\n    switch(local_e0) {\n    case operand_size_mismatch:\n      pcVar24 = "operand size mismatch";\n      break;\n    case operand_type_mismatch:\n      pcVar24 = "operand type mismatch";\n      break;\n    case register_type_mismatch:\n      pcVar24 = "register type mismatch";\n      break;\n    case number_of_operands_mismatch:\n      goto _L3098;\n    case invalid_instruction_suffix:\n      pcVar24 = "invalid instruction suffix";\n      break;\n    case bad_imm4:\n      pcVar24 = "constant doesn\'t fit in 4 bits";\n      break;\n    case unsupported_with_intel_mnemonic:\n      pcVar24 = "unsupported with Intel mnemonic";\n      break;\n    case unsupported_syntax:\n      pcVar24 = "unsupported syntax";\n      break;\n    case unsupported:\n      pcVar23 = current_templates->start->name;\n      pcVar24 = (char *)0x5;\n      format = (char *)dcgettext(0,"unsupported instruction `%s\'",5);\n      goto LAB_0004ca4e;\n    case invalid_vsib_address:\n      pcVar24 = "invalid VSIB address";\n      break;\n    case invalid_vector_register_set:\n      pcVar24 = "mask, index, and destination registers must be distinct";\n      break;\n    case unsupported_vector_index_register:\n      pcVar24 = "unsupported vector index register";\n      break;\n    case unsupported_broadcast:\n      pcVar24 = "unsupported broadcast";\n      break;\n    case broadcast_not_on_src_operand:\n      pcVar24 = "broadcast not on source memory operand";\n      break;\n    case broadcast_needed:\n      pcVar24 = "broadcast is needed for operand of such type";\n      break;\n    case unsupported_masking:\n      pcVar24 = "unsupported masking";\n      break;\n    case mask_not_on_destination:\n      pcVar24 = "mask not on destination operand";\n      break;\n    case no_default_mask:\n      pcVar24 = "default mask isn\'t allowed";\n      break;\n    case unsupported_rc_sae:\n      pcVar24 = "unsupported static rounding/sae";\n      break;\n    case rc_sae_operand_not_last_imm:\n      if (intel_syntax == 0) {\n        pcVar24 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case invalid_register_operand:\n      pcVar24 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x160d,"match_template");\n    }\nLAB_0004ca20:\n    pcVar23 = (char *)dcgettext(0,pcVar24,5);\n    pcVar24 = current_templates->start->name;\n    format = (char *)dcgettext(0,"%s for `%s\'",5);\nLAB_0004ca4e:\n    as_bad(format,pcVar23,pcVar24);\n    return (insn_template *)0x0;\n  }" { (if_statement "if (local_e0 == operand_size_mismatch) {\n      local_e0 = i.error;\n    }" if (parenthesized_expression "(local_e0 == operand_size_mismatch)" ( (binary_expression "local_e0 == operand_size_mismatch" identifier == identifier) )) (compound_statement "{\n      local_e0 = i.error;\n    }" { (expression_statement "local_e0 = i.error;" (assignment_expression "local_e0 = i.error" identifier = (field_expression "i.error" identifier . field_identifier)) ;) })) (switch_statement "switch(local_e0) {\n    case operand_size_mismatch:\n      pcVar24 = "operand size mismatch";\n      break;\n    case operand_type_mismatch:\n      pcVar24 = "operand type mismatch";\n      break;\n    case register_type_mismatch:\n      pcVar24 = "register type mismatch";\n      break;\n    case number_of_operands_mismatch:\n      goto _L3098;\n    case invalid_instruction_suffix:\n      pcVar24 = "invalid instruction suffix";\n      break;\n    case bad_imm4:\n      pcVar24 = "constant doesn\'t fit in 4 bits";\n      break;\n    case unsupported_with_intel_mnemonic:\n      pcVar24 = "unsupported with Intel mnemonic";\n      break;\n    case unsupported_syntax:\n      pcVar24 = "unsupported syntax";\n      break;\n    case unsupported:\n      pcVar23 = current_templates->start->name;\n      pcVar24 = (char *)0x5;\n      format = (char *)dcgettext(0,"unsupported instruction `%s\'",5);\n      goto LAB_0004ca4e;\n    case invalid_vsib_address:\n      pcVar24 = "invalid VSIB address";\n      break;\n    case invalid_vector_register_set:\n      pcVar24 = "mask, index, and destination registers must be distinct";\n      break;\n    case unsupported_vector_index_register:\n      pcVar24 = "unsupported vector index register";\n      break;\n    case unsupported_broadcast:\n      pcVar24 = "unsupported broadcast";\n      break;\n    case broadcast_not_on_src_operand:\n      pcVar24 = "broadcast not on source memory operand";\n      break;\n    case broadcast_needed:\n      pcVar24 = "broadcast is needed for operand of such type";\n      break;\n    case unsupported_masking:\n      pcVar24 = "unsupported masking";\n      break;\n    case mask_not_on_destination:\n      pcVar24 = "mask not on destination operand";\n      break;\n    case no_default_mask:\n      pcVar24 = "default mask isn\'t allowed";\n      break;\n    case unsupported_rc_sae:\n      pcVar24 = "unsupported static rounding/sae";\n      break;\n    case rc_sae_operand_not_last_imm:\n      if (intel_syntax == 0) {\n        pcVar24 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case invalid_register_operand:\n      pcVar24 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x160d,"match_template");\n    }" switch (parenthesized_expression "(local_e0)" ( identifier )) (compound_statement "{\n    case operand_size_mismatch:\n      pcVar24 = "operand size mismatch";\n      break;\n    case operand_type_mismatch:\n      pcVar24 = "operand type mismatch";\n      break;\n    case register_type_mismatch:\n      pcVar24 = "register type mismatch";\n      break;\n    case number_of_operands_mismatch:\n      goto _L3098;\n    case invalid_instruction_suffix:\n      pcVar24 = "invalid instruction suffix";\n      break;\n    case bad_imm4:\n      pcVar24 = "constant doesn\'t fit in 4 bits";\n      break;\n    case unsupported_with_intel_mnemonic:\n      pcVar24 = "unsupported with Intel mnemonic";\n      break;\n    case unsupported_syntax:\n      pcVar24 = "unsupported syntax";\n      break;\n    case unsupported:\n      pcVar23 = current_templates->start->name;\n      pcVar24 = (char *)0x5;\n      format = (char *)dcgettext(0,"unsupported instruction `%s\'",5);\n      goto LAB_0004ca4e;\n    case invalid_vsib_address:\n      pcVar24 = "invalid VSIB address";\n      break;\n    case invalid_vector_register_set:\n      pcVar24 = "mask, index, and destination registers must be distinct";\n      break;\n    case unsupported_vector_index_register:\n      pcVar24 = "unsupported vector index register";\n      break;\n    case unsupported_broadcast:\n      pcVar24 = "unsupported broadcast";\n      break;\n    case broadcast_not_on_src_operand:\n      pcVar24 = "broadcast not on source memory operand";\n      break;\n    case broadcast_needed:\n      pcVar24 = "broadcast is needed for operand of such type";\n      break;\n    case unsupported_masking:\n      pcVar24 = "unsupported masking";\n      break;\n    case mask_not_on_destination:\n      pcVar24 = "mask not on destination operand";\n      break;\n    case no_default_mask:\n      pcVar24 = "default mask isn\'t allowed";\n      break;\n    case unsupported_rc_sae:\n      pcVar24 = "unsupported static rounding/sae";\n      break;\n    case rc_sae_operand_not_last_imm:\n      if (intel_syntax == 0) {\n        pcVar24 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case invalid_register_operand:\n      pcVar24 = "invalid register operand";\n      break;\n    default:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x160d,"match_template");\n    }" { (case_statement "case operand_size_mismatch:\n      pcVar24 = "operand size mismatch";\n      break;" case identifier : (expression_statement "pcVar24 = "operand size mismatch";" (assignment_expression "pcVar24 = "operand size mismatch"" identifier = (string_literal ""operand size mismatch"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case operand_type_mismatch:\n      pcVar24 = "operand type mismatch";\n      break;" case identifier : (expression_statement "pcVar24 = "operand type mismatch";" (assignment_expression "pcVar24 = "operand type mismatch"" identifier = (string_literal ""operand type mismatch"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case register_type_mismatch:\n      pcVar24 = "register type mismatch";\n      break;" case identifier : (expression_statement "pcVar24 = "register type mismatch";" (assignment_expression "pcVar24 = "register type mismatch"" identifier = (string_literal ""register type mismatch"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case number_of_operands_mismatch:\n      goto _L3098;" case identifier : (goto_statement "goto _L3098;" goto statement_identifier ;)) (case_statement "case invalid_instruction_suffix:\n      pcVar24 = "invalid instruction suffix";\n      break;" case identifier : (expression_statement "pcVar24 = "invalid instruction suffix";" (assignment_expression "pcVar24 = "invalid instruction suffix"" identifier = (string_literal ""invalid instruction suffix"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case bad_imm4:\n      pcVar24 = "constant doesn\'t fit in 4 bits";\n      break;" case identifier : (expression_statement "pcVar24 = "constant doesn\'t fit in 4 bits";" (assignment_expression "pcVar24 = "constant doesn\'t fit in 4 bits"" identifier = (string_literal ""constant doesn\'t fit in 4 bits"" " string_content escape_sequence string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case unsupported_with_intel_mnemonic:\n      pcVar24 = "unsupported with Intel mnemonic";\n      break;" case identifier : (expression_statement "pcVar24 = "unsupported with Intel mnemonic";" (assignment_expression "pcVar24 = "unsupported with Intel mnemonic"" identifier = (string_literal ""unsupported with Intel mnemonic"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case unsupported_syntax:\n      pcVar24 = "unsupported syntax";\n      break;" case identifier : (expression_statement "pcVar24 = "unsupported syntax";" (assignment_expression "pcVar24 = "unsupported syntax"" identifier = (string_literal ""unsupported syntax"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case unsupported:\n      pcVar23 = current_templates->start->name;\n      pcVar24 = (char *)0x5;\n      format = (char *)dcgettext(0,"unsupported instruction `%s\'",5);\n      goto LAB_0004ca4e;" case identifier : (expression_statement "pcVar23 = current_templates->start->name;" (assignment_expression "pcVar23 = current_templates->start->name" identifier = (field_expression "current_templates->start->name" (field_expression "current_templates->start" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "pcVar24 = (char *)0x5;" (assignment_expression "pcVar24 = (char *)0x5" identifier = (cast_expression "(char *)0x5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "format = (char *)dcgettext(0,"unsupported instruction `%s\'",5);" (assignment_expression "format = (char *)dcgettext(0,"unsupported instruction `%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"unsupported instruction `%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"unsupported instruction `%s\'",5)" identifier (argument_list "(0,"unsupported instruction `%s\'",5)" ( number_literal , (string_literal ""unsupported instruction `%s\'"" " string_content escape_sequence ") , number_literal ))))) ;) (goto_statement "goto LAB_0004ca4e;" goto statement_identifier ;)) (case_statement "case invalid_vsib_address:\n      pcVar24 = "invalid VSIB address";\n      break;" case identifier : (expression_statement "pcVar24 = "invalid VSIB address";" (assignment_expression "pcVar24 = "invalid VSIB address"" identifier = (string_literal ""invalid VSIB address"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case invalid_vector_register_set:\n      pcVar24 = "mask, index, and destination registers must be distinct";\n      break;" case identifier : (expression_statement "pcVar24 = "mask, index, and destination registers must be distinct";" (assignment_expression "pcVar24 = "mask, index, and destination registers must be distinct"" identifier = (string_literal ""mask, index, and destination registers must be distinct"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case unsupported_vector_index_register:\n      pcVar24 = "unsupported vector index register";\n      break;" case identifier : (expression_statement "pcVar24 = "unsupported vector index register";" (assignment_expression "pcVar24 = "unsupported vector index register"" identifier = (string_literal ""unsupported vector index register"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case unsupported_broadcast:\n      pcVar24 = "unsupported broadcast";\n      break;" case identifier : (expression_statement "pcVar24 = "unsupported broadcast";" (assignment_expression "pcVar24 = "unsupported broadcast"" identifier = (string_literal ""unsupported broadcast"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case broadcast_not_on_src_operand:\n      pcVar24 = "broadcast not on source memory operand";\n      break;" case identifier : (expression_statement "pcVar24 = "broadcast not on source memory operand";" (assignment_expression "pcVar24 = "broadcast not on source memory operand"" identifier = (string_literal ""broadcast not on source memory operand"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case broadcast_needed:\n      pcVar24 = "broadcast is needed for operand of such type";\n      break;" case identifier : (expression_statement "pcVar24 = "broadcast is needed for operand of such type";" (assignment_expression "pcVar24 = "broadcast is needed for operand of such type"" identifier = (string_literal ""broadcast is needed for operand of such type"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case unsupported_masking:\n      pcVar24 = "unsupported masking";\n      break;" case identifier : (expression_statement "pcVar24 = "unsupported masking";" (assignment_expression "pcVar24 = "unsupported masking"" identifier = (string_literal ""unsupported masking"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case mask_not_on_destination:\n      pcVar24 = "mask not on destination operand";\n      break;" case identifier : (expression_statement "pcVar24 = "mask not on destination operand";" (assignment_expression "pcVar24 = "mask not on destination operand"" identifier = (string_literal ""mask not on destination operand"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case no_default_mask:\n      pcVar24 = "default mask isn\'t allowed";\n      break;" case identifier : (expression_statement "pcVar24 = "default mask isn\'t allowed";" (assignment_expression "pcVar24 = "default mask isn\'t allowed"" identifier = (string_literal ""default mask isn\'t allowed"" " string_content escape_sequence string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case unsupported_rc_sae:\n      pcVar24 = "unsupported static rounding/sae";\n      break;" case identifier : (expression_statement "pcVar24 = "unsupported static rounding/sae";" (assignment_expression "pcVar24 = "unsupported static rounding/sae"" identifier = (string_literal ""unsupported static rounding/sae"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case rc_sae_operand_not_last_imm:\n      if (intel_syntax == 0) {\n        pcVar24 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }\n      break;" case identifier : (if_statement "if (intel_syntax == 0) {\n        pcVar24 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }" if (parenthesized_expression "(intel_syntax == 0)" ( (binary_expression "intel_syntax == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar24 = "RC/SAE operand must follow immediate operands";\n      }" { (expression_statement "pcVar24 = "RC/SAE operand must follow immediate operands";" (assignment_expression "pcVar24 = "RC/SAE operand must follow immediate operands"" identifier = (string_literal ""RC/SAE operand must follow immediate operands"" " string_content ")) ;) }) (else_clause "else {\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }" else (compound_statement "{\n        pcVar24 = "RC/SAE operand must precede immediate operands";\n      }" { (expression_statement "pcVar24 = "RC/SAE operand must precede immediate operands";" (assignment_expression "pcVar24 = "RC/SAE operand must precede immediate operands"" identifier = (string_literal ""RC/SAE operand must precede immediate operands"" " string_content ")) ;) }))) (break_statement "break;" break ;)) (case_statement "case invalid_register_operand:\n      pcVar24 = "invalid register operand";\n      break;" case identifier : (expression_statement "pcVar24 = "invalid register operand";" (assignment_expression "pcVar24 = "invalid register operand"" identifier = (string_literal ""invalid register operand"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-i386.c",0x160d,"match_template");" default : comment (expression_statement "as_abort("../../gas/config/tc-i386.c",0x160d,"match_template");" (call_expression "as_abort("../../gas/config/tc-i386.c",0x160d,"match_template")" identifier (argument_list "("../../gas/config/tc-i386.c",0x160d,"match_template")" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""match_template"" " string_content ") ))) ;)) })) (labeled_statement "LAB_0004ca20:\n    pcVar23 = (char *)dcgettext(0,pcVar24,5);" statement_identifier : (expression_statement "pcVar23 = (char *)dcgettext(0,pcVar24,5);" (assignment_expression "pcVar23 = (char *)dcgettext(0,pcVar24,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar24,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar24,5)" identifier (argument_list "(0,pcVar24,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "pcVar24 = current_templates->start->name;" (assignment_expression "pcVar24 = current_templates->start->name" identifier = (field_expression "current_templates->start->name" (field_expression "current_templates->start" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "format = (char *)dcgettext(0,"%s for `%s\'",5);" (assignment_expression "format = (char *)dcgettext(0,"%s for `%s\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s for `%s\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s for `%s\'",5)" identifier (argument_list "(0,"%s for `%s\'",5)" ( number_literal , (string_literal ""%s for `%s\'"" " string_content escape_sequence ") , number_literal ))))) ;) (labeled_statement "LAB_0004ca4e:\n    as_bad(format,pcVar23,pcVar24);" statement_identifier : (expression_statement "as_bad(format,pcVar23,pcVar24);" (call_expression "as_bad(format,pcVar23,pcVar24)" identifier (argument_list "(format,pcVar23,pcVar24)" ( identifier , identifier , identifier ))) ;)) (return_statement "return (insn_template *)0x0;" return (cast_expression "(insn_template *)0x0" ( (type_descriptor "insn_template *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) }))) (if_statement "if (quiet_warnings != 0) goto LAB_0004bf2b;" if (parenthesized_expression "(quiet_warnings != 0)" ( (binary_expression "quiet_warnings != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004bf2b;" goto statement_identifier ;)) (labeled_statement "LAB_0004bed8:\n  if (intel_syntax == 0) {\n    if (((byte)i.types[0].array[0]._3_1_ >> 1 & 1) != ((byte)operand_types[0]._3_1_ >> 1 & 1)) {\n      pcVar24 = t->name;\n      pcVar23 = (char *)dcgettext(0,"indirect %s without `*\'",5);\n      as_warn(pcVar23,pcVar24);\n    }\n  }" statement_identifier : (if_statement "if (intel_syntax == 0) {\n    if (((byte)i.types[0].array[0]._3_1_ >> 1 & 1) != ((byte)operand_types[0]._3_1_ >> 1 & 1)) {\n      pcVar24 = t->name;\n      pcVar23 = (char *)dcgettext(0,"indirect %s without `*\'",5);\n      as_warn(pcVar23,pcVar24);\n    }\n  }" if (parenthesized_expression "(intel_syntax == 0)" ( (binary_expression "intel_syntax == 0" identifier == number_literal) )) (compound_statement "{\n    if (((byte)i.types[0].array[0]._3_1_ >> 1 & 1) != ((byte)operand_types[0]._3_1_ >> 1 & 1)) {\n      pcVar24 = t->name;\n      pcVar23 = (char *)dcgettext(0,"indirect %s without `*\'",5);\n      as_warn(pcVar23,pcVar24);\n    }\n  }" { (if_statement "if (((byte)i.types[0].array[0]._3_1_ >> 1 & 1) != ((byte)operand_types[0]._3_1_ >> 1 & 1)) {\n      pcVar24 = t->name;\n      pcVar23 = (char *)dcgettext(0,"indirect %s without `*\'",5);\n      as_warn(pcVar23,pcVar24);\n    }" if (parenthesized_expression "(((byte)i.types[0].array[0]._3_1_ >> 1 & 1) != ((byte)operand_types[0]._3_1_ >> 1 & 1))" ( (binary_expression "((byte)i.types[0].array[0]._3_1_ >> 1 & 1) != ((byte)operand_types[0]._3_1_ >> 1 & 1)" (parenthesized_expression "((byte)i.types[0].array[0]._3_1_ >> 1 & 1)" ( (binary_expression "(byte)i.types[0].array[0]._3_1_ >> 1 & 1" (binary_expression "(byte)i.types[0].array[0]._3_1_ >> 1" (cast_expression "(byte)i.types[0].array[0]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "i.types[0].array[0]._3_1_" (subscript_expression "i.types[0].array[0]" (field_expression "i.types[0].array" (subscript_expression "i.types[0]" (field_expression "i.types" identifier . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) )) != (parenthesized_expression "((byte)operand_types[0]._3_1_ >> 1 & 1)" ( (binary_expression "(byte)operand_types[0]._3_1_ >> 1 & 1" (binary_expression "(byte)operand_types[0]._3_1_ >> 1" (cast_expression "(byte)operand_types[0]._3_1_" ( (type_descriptor "byte" type_identifier) ) (field_expression "operand_types[0]._3_1_" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier)) >> number_literal) & number_literal) ))) )) (compound_statement "{\n      pcVar24 = t->name;\n      pcVar23 = (char *)dcgettext(0,"indirect %s without `*\'",5);\n      as_warn(pcVar23,pcVar24);\n    }" { (expression_statement "pcVar24 = t->name;" (assignment_expression "pcVar24 = t->name" identifier = (field_expression "t->name" identifier -> field_identifier)) ;) (expression_statement "pcVar23 = (char *)dcgettext(0,"indirect %s without `*\'",5);" (assignment_expression "pcVar23 = (char *)dcgettext(0,"indirect %s without `*\'",5)" identifier = (cast_expression "(char *)dcgettext(0,"indirect %s without `*\'",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"indirect %s without `*\'",5)" identifier (argument_list "(0,"indirect %s without `*\'",5)" ( number_literal , (string_literal ""indirect %s without `*\'"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar23,pcVar24);" (call_expression "as_warn(pcVar23,pcVar24)" identifier (argument_list "(pcVar23,pcVar24)" ( identifier , identifier ))) ;) })) }))) (if_statement "if ((((t->opcode_modifier).field_0x4 & 0x10) != 0) &&\n     ((char)(t->opcode_modifier).field_0x1 < '\0')) {\n    pcVar24 = t->name;\n    pcVar23 = (char *)dcgettext(0,"stand-alone `%s\' prefix",5);\n    as_warn(pcVar23,pcVar24);\n  }" if (parenthesized_expression "((((t->opcode_modifier).field_0x4 & 0x10) != 0) &&\n     ((char)(t->opcode_modifier).field_0x1 < '\0'))" ( (binary_expression "(((t->opcode_modifier).field_0x4 & 0x10) != 0) &&\n     ((char)(t->opcode_modifier).field_0x1 < '\0')" (parenthesized_expression "(((t->opcode_modifier).field_0x4 & 0x10) != 0)" ( (binary_expression "((t->opcode_modifier).field_0x4 & 0x10) != 0" (parenthesized_expression "((t->opcode_modifier).field_0x4 & 0x10)" ( (binary_expression "(t->opcode_modifier).field_0x4 & 0x10" (field_expression "(t->opcode_modifier).field_0x4" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "((char)(t->opcode_modifier).field_0x1 < '\0')" ( (binary_expression "(char)(t->opcode_modifier).field_0x1 < '\0'" (cast_expression "(char)(t->opcode_modifier).field_0x1" ( (type_descriptor "char" primitive_type) ) (field_expression "(t->opcode_modifier).field_0x1" (parenthesized_expression "(t->opcode_modifier)" ( (field_expression "t->opcode_modifier" identifier -> field_identifier) )) . field_identifier)) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    pcVar24 = t->name;\n    pcVar23 = (char *)dcgettext(0,"stand-alone `%s\' prefix",5);\n    as_warn(pcVar23,pcVar24);\n  }" { (expression_statement "pcVar24 = t->name;" (assignment_expression "pcVar24 = t->name" identifier = (field_expression "t->name" identifier -> field_identifier)) ;) (expression_statement "pcVar23 = (char *)dcgettext(0,"stand-alone `%s\' prefix",5);" (assignment_expression "pcVar23 = (char *)dcgettext(0,"stand-alone `%s\' prefix",5)" identifier = (cast_expression "(char *)dcgettext(0,"stand-alone `%s\' prefix",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"stand-alone `%s\' prefix",5)" identifier (argument_list "(0,"stand-alone `%s\' prefix",5)" ( number_literal , (string_literal ""stand-alone `%s\' prefix"" " string_content escape_sequence string_content ") , number_literal ))))) ;) (expression_statement "as_warn(pcVar23,pcVar24);" (call_expression "as_warn(pcVar23,pcVar24)" identifier (argument_list "(pcVar23,pcVar24)" ( identifier , identifier ))) ;) })) (labeled_statement "LAB_0004bf2b:\n  piVar32 = t;" statement_identifier : (expression_statement "piVar32 = t;" (assignment_expression "piVar32 = t" identifier = identifier) ;)) (expression_statement "piVar34 = &i;" (assignment_expression "piVar34 = &i" identifier = (pointer_expression "&i" & identifier)) ;) (for_statement "for (iVar20 = 0x16; iVar20 != 0; iVar20 = iVar20 + -1) {\n    (piVar34->tm).name = piVar32->name;\n    piVar32 = (insn_template *)((int)piVar32 + (uint)bVar36 * -8 + 4);\n    piVar34 = (i386_insn *)((int)piVar34 + ((uint)bVar36 * -2 + 1) * 4);\n  }" for ( (assignment_expression "iVar20 = 0x16" identifier = number_literal) ; (binary_expression "iVar20 != 0" identifier != number_literal) ; (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ) (compound_statement "{\n    (piVar34->tm).name = piVar32->name;\n    piVar32 = (insn_template *)((int)piVar32 + (uint)bVar36 * -8 + 4);\n    piVar34 = (i386_insn *)((int)piVar34 + ((uint)bVar36 * -2 + 1) * 4);\n  }" { (expression_statement "(piVar34->tm).name = piVar32->name;" (assignment_expression "(piVar34->tm).name = piVar32->name" (field_expression "(piVar34->tm).name" (parenthesized_expression "(piVar34->tm)" ( (field_expression "piVar34->tm" identifier -> field_identifier) )) . field_identifier) = (field_expression "piVar32->name" identifier -> field_identifier)) ;) (expression_statement "piVar32 = (insn_template *)((int)piVar32 + (uint)bVar36 * -8 + 4);" (assignment_expression "piVar32 = (insn_template *)((int)piVar32 + (uint)bVar36 * -8 + 4)" identifier = (cast_expression "(insn_template *)((int)piVar32 + (uint)bVar36 * -8 + 4)" ( (type_descriptor "insn_template *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar32 + (uint)bVar36 * -8 + 4)" ( (binary_expression "(int)piVar32 + (uint)bVar36 * -8 + 4" (binary_expression "(int)piVar32 + (uint)bVar36 * -8" (cast_expression "(int)piVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar36 * -8" (cast_expression "(uint)bVar36" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "piVar34 = (i386_insn *)((int)piVar34 + ((uint)bVar36 * -2 + 1) * 4);" (assignment_expression "piVar34 = (i386_insn *)((int)piVar34 + ((uint)bVar36 * -2 + 1) * 4)" identifier = (cast_expression "(i386_insn *)((int)piVar34 + ((uint)bVar36 * -2 + 1) * 4)" ( (type_descriptor "i386_insn *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar34 + ((uint)bVar36 * -2 + 1) * 4)" ( (binary_expression "(int)piVar34 + ((uint)bVar36 * -2 + 1) * 4" (cast_expression "(int)piVar34" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "((uint)bVar36 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar36 * -2 + 1)" ( (binary_expression "(uint)bVar36 * -2 + 1" (binary_expression "(uint)bVar36 * -2" (cast_expression "(uint)bVar36" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal)) )))) ;) })) (if_statement "if (local_d8 != ~CODE_32BIT) {\n    uVar5 = *(undefined4 *)((int)operand_types + local_d8 * 8 + 4);\n    i.tm.operand_types[local_d8].array[0] = operand_types[local_d8].array[0];\n    *(undefined4 *)((int)i.tm.operand_types + local_d8 * 8 + 4) = uVar5;\n  }" if (parenthesized_expression "(local_d8 != ~CODE_32BIT)" ( (binary_expression "local_d8 != ~CODE_32BIT" identifier != (unary_expression "~CODE_32BIT" ~ identifier)) )) (compound_statement "{\n    uVar5 = *(undefined4 *)((int)operand_types + local_d8 * 8 + 4);\n    i.tm.operand_types[local_d8].array[0] = operand_types[local_d8].array[0];\n    *(undefined4 *)((int)i.tm.operand_types + local_d8 * 8 + 4) = uVar5;\n  }" { (expression_statement "uVar5 = *(undefined4 *)((int)operand_types + local_d8 * 8 + 4);" (assignment_expression "uVar5 = *(undefined4 *)((int)operand_types + local_d8 * 8 + 4)" identifier = (pointer_expression "*(undefined4 *)((int)operand_types + local_d8 * 8 + 4)" * (cast_expression "(undefined4 *)((int)operand_types + local_d8 * 8 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)operand_types + local_d8 * 8 + 4)" ( (binary_expression "(int)operand_types + local_d8 * 8 + 4" (binary_expression "(int)operand_types + local_d8 * 8" (cast_expression "(int)operand_types" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "i.tm.operand_types[local_d8].array[0] = operand_types[local_d8].array[0];" (assignment_expression "i.tm.operand_types[local_d8].array[0] = operand_types[local_d8].array[0]" (subscript_expression "i.tm.operand_types[local_d8].array[0]" (field_expression "i.tm.operand_types[local_d8].array" (subscript_expression "i.tm.operand_types[local_d8]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ identifier ]) . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[local_d8].array[0]" (field_expression "operand_types[local_d8].array" (subscript_expression "operand_types[local_d8]" identifier [ identifier ]) . field_identifier) [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)i.tm.operand_types + local_d8 * 8 + 4) = uVar5;" (assignment_expression "*(undefined4 *)((int)i.tm.operand_types + local_d8 * 8 + 4) = uVar5" (pointer_expression "*(undefined4 *)((int)i.tm.operand_types + local_d8 * 8 + 4)" * (cast_expression "(undefined4 *)((int)i.tm.operand_types + local_d8 * 8 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)i.tm.operand_types + local_d8 * 8 + 4)" ( (binary_expression "(int)i.tm.operand_types + local_d8 * 8 + 4" (binary_expression "(int)i.tm.operand_types + local_d8 * 8" (cast_expression "(int)i.tm.operand_types" ( (type_descriptor "int" primitive_type) ) (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) = identifier) ;) })) (if_statement "if (local_dc != 0) {\n    i.tm.base_opcode = i.tm.base_opcode ^ local_dc;\n    i.tm.operand_types[0].array[1] = operand_types[1].array[1];\n    i.tm.operand_types[0].array[0] = operand_types[1].array[0];\n    i.tm.operand_types[1].array[1] = operand_types[0].array[1];\n    i.tm.operand_types[1].array[0] = operand_types[0].array[0];\n  }" if (parenthesized_expression "(local_dc != 0)" ( (binary_expression "local_dc != 0" identifier != number_literal) )) (compound_statement "{\n    i.tm.base_opcode = i.tm.base_opcode ^ local_dc;\n    i.tm.operand_types[0].array[1] = operand_types[1].array[1];\n    i.tm.operand_types[0].array[0] = operand_types[1].array[0];\n    i.tm.operand_types[1].array[1] = operand_types[0].array[1];\n    i.tm.operand_types[1].array[0] = operand_types[0].array[0];\n  }" { (expression_statement "i.tm.base_opcode = i.tm.base_opcode ^ local_dc;" (assignment_expression "i.tm.base_opcode = i.tm.base_opcode ^ local_dc" (field_expression "i.tm.base_opcode" (field_expression "i.tm" identifier . field_identifier) . field_identifier) = (binary_expression "i.tm.base_opcode ^ local_dc" (field_expression "i.tm.base_opcode" (field_expression "i.tm" identifier . field_identifier) . field_identifier) ^ identifier)) ;) (expression_statement "i.tm.operand_types[0].array[1] = operand_types[1].array[1];" (assignment_expression "i.tm.operand_types[0].array[1] = operand_types[1].array[1]" (subscript_expression "i.tm.operand_types[0].array[1]" (field_expression "i.tm.operand_types[0].array" (subscript_expression "i.tm.operand_types[0]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[1].array[1]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "i.tm.operand_types[0].array[0] = operand_types[1].array[0];" (assignment_expression "i.tm.operand_types[0].array[0] = operand_types[1].array[0]" (subscript_expression "i.tm.operand_types[0].array[0]" (field_expression "i.tm.operand_types[0].array" (subscript_expression "i.tm.operand_types[0]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[1].array[0]" (field_expression "operand_types[1].array" (subscript_expression "operand_types[1]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "i.tm.operand_types[1].array[1] = operand_types[0].array[1];" (assignment_expression "i.tm.operand_types[1].array[1] = operand_types[0].array[1]" (subscript_expression "i.tm.operand_types[1].array[1]" (field_expression "i.tm.operand_types[1].array" (subscript_expression "i.tm.operand_types[1]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[0].array[1]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) (expression_statement "i.tm.operand_types[1].array[0] = operand_types[0].array[0];" (assignment_expression "i.tm.operand_types[1].array[0] = operand_types[0].array[0]" (subscript_expression "i.tm.operand_types[1].array[0]" (field_expression "i.tm.operand_types[1].array" (subscript_expression "i.tm.operand_types[1]" (field_expression "i.tm.operand_types" (field_expression "i.tm" identifier . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) [ number_literal ]) = (subscript_expression "operand_types[0].array[0]" (field_expression "operand_types[0].array" (subscript_expression "operand_types[0]" identifier [ number_literal ]) . field_identifier) [ number_literal ])) ;) })) (return_statement "return t;" return identifier ;) }))
(translation_unit "undefined4 * __regparm3 FUN_0004b910(undefined1 param_1)\n\n{\n  int iVar1;\n  byte *pbVar2;\n  char cVar3;\n  byte bVar4;\n  uint uVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte bVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 *puVar21;\n  undefined4 uVar22;\n  int iVar23;\n  int iVar24;\n  undefined4 uVar25;\n  char *pcVar26;\n  undefined4 uVar27;\n  uint uVar28;\n  uint extraout_ECX;\n  uint extraout_ECX_00;\n  byte bVar29;\n  uint uVar31;\n  undefined4 *puVar32;\n  undefined4 *puVar33;\n  byte bVar34;\n  int local_e0;\n  uint local_dc;\n  int local_d8;\n  uint local_d4;\n  uint local_d0;\n  byte local_c8;\n  byte local_c0;\n  uint uStack_a4;\n  uint uStack_a0;\n  uint uStack_9c;\n  uint uStack_98;\n  uint uStack_94;\n  uint uStack_90;\n  byte local_8c;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  byte bStack_39;\n  uint local_38;\n  uint uStack_34;\n  uint uStack_30;\n  uint uStack_2c;\n  uint uStack_28;\n  uint uStack_24;\n  uint uStack_20;\n  undefined4 uStack_14;\n  byte bVar30;\n  \n  uVar5 = DAT_000654f0;\n  bVar34 = 0;\n  uStack_14 = 0x4b919;\n  bVar11 = false;\n  bVar10 = false;\n  bVar9 = false;\n  bVar8 = false;\n  bVar7 = false;\n  bVar6 = false;\n  if ((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)) {\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }\n  DAT_000890f8 = 3;\n  puVar32 = (undefined4 *)*DAT_00088f88;\n  if (puVar32 < (undefined4 *)DAT_00088f88[1]) {\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }\n  if (puVar32 == (undefined4 *)DAT_00088f88[1]) {\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }\n  if (DAT_00088ec0 != 0) {\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }\n  local_d8 = -1;\n  local_dc = 0;\n  goto LAB_0004bed8;\nLAB_0004bc61:\n  if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }\n  if ((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0) {\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }\n  if (uVar28 == 1) goto code_r0x0004be14;\n  uVar28 = 1;\n  goto LAB_0004bc61;\nLAB_0004c4e4:\n  DAT_000890f8 = 0;\n  local_d8 = -1;\n  goto LAB_0004ba48;\ncode_r0x0004be14:\n  iVar19 = 0;\nLAB_0004c04c:\n  do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);\n  if (DAT_00088ff8 == 'q') {\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }\n  else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }\nLAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }\n  local_d8 = -1;\n  if (DAT_00089092 != '\0') {\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }\nLAB_0004c3ff:\n  if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;\n  local_d0 = 0;\n  if ((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) {\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }\n  uVar20 = DAT_00089010 & local_44;\n  bVar17 = (byte)(uVar20 >> 0x10);\n  local_8c = (byte)(uVar20 >> 0x18);\n  bVar29 = (byte)(DAT_00089010 >> 0x18);\n  bVar18 = (byte)(DAT_00089018 >> 0x10);\n  bVar30 = (byte)(DAT_00089018 >> 0x18);\n  local_c8 = (byte)DAT_00089014;\n  uVar28 = local_dc;\n  switch(local_d4) {\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }\n  if (DAT_000890d4 == 2) {\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }\ncode_r0x0004c54a:\n  if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }\n  DAT_000890f8 = 1;\ncode_r0x0004c7ec:\n  bVar4 = *(byte *)(puVar32 + 9);\n  if ((bVar4 & 1) == 0) goto LAB_0004ba48;\ncode_r0x0004c7fc:\n  uVar28 = DAT_00089010 & local_3c;\n  if (((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))\n  goto code_r0x0004c880;\n  local_c0 = (byte)(uVar28 >> 0x18);\n  if ((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))\n  goto code_r0x0004c880;\n  if (local_d0 != 0) {\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }\n  local_dc = 0;\n  if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }\n  uVar28 = local_dc | 8;\n  if ((*(byte *)((int)puVar32 + 0x25) & 4) == 0) {\n    uVar28 = local_dc;\n  }\nLAB_0004c685:\n  local_dc = uVar28;\n  if ((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))) {\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }\n  bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30;\n  if ((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0) {\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }\n  if ((*(byte *)(puVar32 + 0xb) & 8) != 0) {\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }\n  if (DAT_00089078 != 0) {\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }\nLAB_0004cef0:\n  DAT_000890f8 = 9;\n  local_e0 = 9;\nLAB_0004ba48:\n  puVar21 = (undefined4 *)DAT_00088f88[1];\n  puVar33 = puVar32 + 0x16;\n  if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n  goto LAB_0004ba5c;\nLAB_0004bec0:\n  puVar32 = puVar32 + 0x16;\nLAB_0004bec6:\n  if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }\n  if (DAT_00088ec0 != 0) goto LAB_0004bf2b;\nLAB_0004bed8:\n  if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }\n  if (((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')) {\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }\nLAB_0004bf2b:\n  puVar33 = puVar32;\n  puVar21 = &DAT_00088fa0;\n  for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }\n  if (local_d8 != -1) {\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }\n  if (local_dc != 0) {\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }\n  return puVar32;\n}\n\n" (ERROR "undefined4 * __regparm3 FUN_0004b910(undefined1 param_1)" (binary_expression "undefined4 * __regparm3 FUN_0004b910(undefined1 param_1)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_0004b910(undefined1 param_1)" identifier (argument_list "(undefined1 param_1)" ( identifier (ERROR "param_1" identifier) ))))) (compound_statement "{\n  int iVar1;\n  byte *pbVar2;\n  char cVar3;\n  byte bVar4;\n  uint uVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte bVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 *puVar21;\n  undefined4 uVar22;\n  int iVar23;\n  int iVar24;\n  undefined4 uVar25;\n  char *pcVar26;\n  undefined4 uVar27;\n  uint uVar28;\n  uint extraout_ECX;\n  uint extraout_ECX_00;\n  byte bVar29;\n  uint uVar31;\n  undefined4 *puVar32;\n  undefined4 *puVar33;\n  byte bVar34;\n  int local_e0;\n  uint local_dc;\n  int local_d8;\n  uint local_d4;\n  uint local_d0;\n  byte local_c8;\n  byte local_c0;\n  uint uStack_a4;\n  uint uStack_a0;\n  uint uStack_9c;\n  uint uStack_98;\n  uint uStack_94;\n  uint uStack_90;\n  byte local_8c;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  byte bStack_39;\n  uint local_38;\n  uint uStack_34;\n  uint uStack_30;\n  uint uStack_2c;\n  uint uStack_28;\n  uint uStack_24;\n  uint uStack_20;\n  undefined4 uStack_14;\n  byte bVar30;\n  \n  uVar5 = DAT_000654f0;\n  bVar34 = 0;\n  uStack_14 = 0x4b919;\n  bVar11 = false;\n  bVar10 = false;\n  bVar9 = false;\n  bVar8 = false;\n  bVar7 = false;\n  bVar6 = false;\n  if ((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)) {\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }\n  DAT_000890f8 = 3;\n  puVar32 = (undefined4 *)*DAT_00088f88;\n  if (puVar32 < (undefined4 *)DAT_00088f88[1]) {\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }\n  if (puVar32 == (undefined4 *)DAT_00088f88[1]) {\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }\n  if (DAT_00088ec0 != 0) {\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }\n  local_d8 = -1;\n  local_dc = 0;\n  goto LAB_0004bed8;\nLAB_0004bc61:\n  if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }\n  if ((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0) {\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }\n  if (uVar28 == 1) goto code_r0x0004be14;\n  uVar28 = 1;\n  goto LAB_0004bc61;\nLAB_0004c4e4:\n  DAT_000890f8 = 0;\n  local_d8 = -1;\n  goto LAB_0004ba48;\ncode_r0x0004be14:\n  iVar19 = 0;\nLAB_0004c04c:\n  do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);\n  if (DAT_00088ff8 == 'q') {\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }\n  else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }\nLAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }\n  local_d8 = -1;\n  if (DAT_00089092 != '\0') {\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }\nLAB_0004c3ff:\n  if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;\n  local_d0 = 0;\n  if ((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) {\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }\n  uVar20 = DAT_00089010 & local_44;\n  bVar17 = (byte)(uVar20 >> 0x10);\n  local_8c = (byte)(uVar20 >> 0x18);\n  bVar29 = (byte)(DAT_00089010 >> 0x18);\n  bVar18 = (byte)(DAT_00089018 >> 0x10);\n  bVar30 = (byte)(DAT_00089018 >> 0x18);\n  local_c8 = (byte)DAT_00089014;\n  uVar28 = local_dc;\n  switch(local_d4) {\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }\n  if (DAT_000890d4 == 2) {\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }\ncode_r0x0004c54a:\n  if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }\n  DAT_000890f8 = 1;\ncode_r0x0004c7ec:\n  bVar4 = *(byte *)(puVar32 + 9);\n  if ((bVar4 & 1) == 0) goto LAB_0004ba48;\ncode_r0x0004c7fc:\n  uVar28 = DAT_00089010 & local_3c;\n  if (((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))\n  goto code_r0x0004c880;\n  local_c0 = (byte)(uVar28 >> 0x18);\n  if ((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))\n  goto code_r0x0004c880;\n  if (local_d0 != 0) {\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }\n  local_dc = 0;\n  if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }\n  uVar28 = local_dc | 8;\n  if ((*(byte *)((int)puVar32 + 0x25) & 4) == 0) {\n    uVar28 = local_dc;\n  }\nLAB_0004c685:\n  local_dc = uVar28;\n  if ((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))) {\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }\n  bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30;\n  if ((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0) {\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }\n  if ((*(byte *)(puVar32 + 0xb) & 8) != 0) {\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }\n  if (DAT_00089078 != 0) {\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }\nLAB_0004cef0:\n  DAT_000890f8 = 9;\n  local_e0 = 9;\nLAB_0004ba48:\n  puVar21 = (undefined4 *)DAT_00088f88[1];\n  puVar33 = puVar32 + 0x16;\n  if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n  goto LAB_0004ba5c;\nLAB_0004bec0:\n  puVar32 = puVar32 + 0x16;\nLAB_0004bec6:\n  if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }\n  if (DAT_00088ec0 != 0) goto LAB_0004bf2b;\nLAB_0004bed8:\n  if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }\n  if (((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')) {\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }\nLAB_0004bf2b:\n  puVar33 = puVar32;\n  puVar21 = &DAT_00088fa0;\n  for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }\n  if (local_d8 != -1) {\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }\n  if (local_dc != 0) {\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }\n  return puVar32;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "byte bVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "undefined4 uVar25;" type_identifier identifier ;) (declaration "char *pcVar26;" primitive_type (pointer_declarator "*pcVar26" * identifier) ;) (declaration "undefined4 uVar27;" type_identifier identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "uint extraout_ECX;" type_identifier identifier ;) (declaration "uint extraout_ECX_00;" type_identifier identifier ;) (declaration "byte bVar29;" type_identifier identifier ;) (declaration "uint uVar31;" type_identifier identifier ;) (declaration "undefined4 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "undefined4 *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "byte bVar34;" type_identifier identifier ;) (declaration "int local_e0;" primitive_type identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "int local_d8;" primitive_type identifier ;) (declaration "uint local_d4;" type_identifier identifier ;) (declaration "uint local_d0;" type_identifier identifier ;) (declaration "byte local_c8;" type_identifier identifier ;) (declaration "byte local_c0;" type_identifier identifier ;) (declaration "uint uStack_a4;" type_identifier identifier ;) (declaration "uint uStack_a0;" type_identifier identifier ;) (declaration "uint uStack_9c;" type_identifier identifier ;) (declaration "uint uStack_98;" type_identifier identifier ;) (declaration "uint uStack_94;" type_identifier identifier ;) (declaration "uint uStack_90;" type_identifier identifier ;) (declaration "byte local_8c;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "byte bStack_39;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "uint uStack_34;" type_identifier identifier ;) (declaration "uint uStack_30;" type_identifier identifier ;) (declaration "uint uStack_2c;" type_identifier identifier ;) (declaration "uint uStack_28;" type_identifier identifier ;) (declaration "uint uStack_24;" type_identifier identifier ;) (declaration "uint uStack_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "byte bVar30;" type_identifier identifier ;) (expression_statement "uVar5 = DAT_000654f0;" (assignment_expression "uVar5 = DAT_000654f0" identifier = identifier) ;) (expression_statement "bVar34 = 0;" (assignment_expression "bVar34 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x4b919;" (assignment_expression "uStack_14 = 0x4b919" identifier = number_literal) ;) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) (if_statement "if ((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)) {\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }" if (parenthesized_expression "((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0))" ( (binary_expression "(DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)" (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_000890cc == (int *)0x0)" ( (binary_expression "DAT_000890cc == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }" { (if_statement "if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == 'b')" ( (binary_expression "DAT_00088ff8 == 'b'" identifier == (char_literal "'b'" ' character ')) )) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }" { (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" identifier = true) ;) }) (else_clause "else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" else (if_statement "if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == 'w')" ( (binary_expression "DAT_00088ff8 == 'w'" identifier == (char_literal "'w'" ' character ')) )) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }" { (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" else (if_statement "if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == 's')" ( (binary_expression "DAT_00088ff8 == 's'" identifier == (char_literal "'s'" ' character ')) )) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" { (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" identifier = true) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" else (if_statement "if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == 'l')" ( (binary_expression "DAT_00088ff8 == 'l'" identifier == (char_literal "'l'" ' character ')) )) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }" { (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" identifier = true) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" else (if_statement "if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == 'q')" ( (binary_expression "DAT_00088ff8 == 'q'" identifier == (char_literal "'q'" ' character ')) )) (compound_statement "{\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" { (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" identifier = false) ;) (expression_statement "bVar10 = true;" (assignment_expression "bVar10 = true" identifier = true) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) }) (else_clause "else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" else (if_statement "if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" if (parenthesized_expression "(DAT_00088ff8 == '\x01')" ( (binary_expression "DAT_00088ff8 == '\x01'" identifier == (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" { (expression_statement "bVar11 = true;" (assignment_expression "bVar11 = true" identifier = true) ;) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" identifier = false) ;) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" identifier = false) ;) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" identifier = false) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" identifier = false) ;) })))))))))))) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (if_statement "if (DAT_00088ef4 != 0) goto LAB_0004b97b;" if (parenthesized_expression "(DAT_00088ef4 != 0)" ( (binary_expression "DAT_00088ef4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004b97b;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }" else (compound_statement "{\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }" { (labeled_statement "LAB_0004b97b:\n    bVar16 = false;" statement_identifier : (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;)) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (switch_statement "switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }" switch (parenthesized_expression "(param_1)" ( identifier )) (compound_statement "{\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }" { (case_statement "case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;" case number_literal : (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = true;" (assignment_expression "bVar12 = true" identifier = true) ;) (break_statement "break;" break ;)) (case_statement "case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;" case number_literal : (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = true;" (assignment_expression "bVar14 = true" identifier = true) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (break_statement "break;" break ;)) (case_statement "case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;" case number_literal : (expression_statement "bVar16 = true;" (assignment_expression "bVar16 = true" identifier = true) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (break_statement "break;" break ;)) (case_statement "case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;" case number_literal : (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = true;" (assignment_expression "bVar15 = true" identifier = true) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;) (break_statement "break;" break ;)) (case_statement "case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;" case number_literal : (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" identifier = false) ;)) })) }))) (expression_statement "DAT_000890f8 = 3;" (assignment_expression "DAT_000890f8 = 3" identifier = number_literal) ;) (expression_statement "puVar32 = (undefined4 *)*DAT_00088f88;" (assignment_expression "puVar32 = (undefined4 *)*DAT_00088f88" identifier = (cast_expression "(undefined4 *)*DAT_00088f88" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00088f88" * identifier))) ;) (if_statement "if (puVar32 < (undefined4 *)DAT_00088f88[1]) {\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }" if (parenthesized_expression "(puVar32 < (undefined4 *)DAT_00088f88[1])" ( (binary_expression "puVar32 < (undefined4 *)DAT_00088f88[1]" identifier < (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }" { (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" identifier = number_literal) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (expression_statement "puVar33 = puVar32;" (assignment_expression "puVar33 = puVar32" identifier = identifier) ;) (labeled_statement "LAB_0004ba5c:\n    puVar32 = puVar33;" statement_identifier : (expression_statement "puVar32 = puVar33;" (assignment_expression "puVar32 = puVar33" identifier = identifier) ;)) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (if_statement "if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;" if (parenthesized_expression "(DAT_00088ffc != puVar32[1])" ( (binary_expression "DAT_00088ffc != puVar32[1]" identifier != (subscript_expression "puVar32[1]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (expression_statement "DAT_000890f8 = 8;" (assignment_expression "DAT_000890f8 = 8" identifier = number_literal) ;) (expression_statement "iVar19 = FUN_00047980();" (assignment_expression "iVar19 = FUN_00047980()" identifier = (call_expression "FUN_00047980()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;" if (parenthesized_expression "((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))" ( (binary_expression "(iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)))" (parenthesized_expression "(iVar19 != 3)" ( (binary_expression "iVar19 != 3" identifier != number_literal) )) || (parenthesized_expression "((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)))" ( (parenthesized_expression "(DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))" ( (comma_expression "DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)" (assignment_expression "DAT_000890f8 = 6" identifier = number_literal) , (binary_expression "DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)" (binary_expression "DAT_00088eec != 0" identifier != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 0x40) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 0xb) & 0x40) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 0x40)" ( (binary_expression "*(byte *)(puVar32 + 0xb) & 0x40" (pointer_expression "*(byte *)(puVar32 + 0xb)" * (cast_expression "(byte *)(puVar32 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) )))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (expression_statement "DAT_000890f8 = 7;" (assignment_expression "DAT_000890f8 = 7" identifier = number_literal) ;) (if_statement "if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }" if (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) (compound_statement "{\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }" { (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2d);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2d)" identifier = (pointer_expression "*(byte *)((int)puVar32 + 0x2d)" * (cast_expression "(byte *)((int)puVar32 + 0x2d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2d)" ( (binary_expression "(int)puVar32 + 0x2d" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar17 & 1) != 0) goto LAB_0004bea5;" if (parenthesized_expression "((bVar17 & 1) != 0)" ( (binary_expression "(bVar17 & 1) != 0" (parenthesized_expression "(bVar17 & 1)" ( (binary_expression "bVar17 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) (if_statement "if (DAT_00088ef0 != 0) goto LAB_0004bfcc;" if (parenthesized_expression "(DAT_00088ef0 != 0)" ( (binary_expression "DAT_00088ef0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004bfcc;" goto statement_identifier ;)) (labeled_statement "LAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;" statement_identifier : (if_statement "if ((bVar17 & 4) != 0) goto LAB_0004bea5;" if (parenthesized_expression "((bVar17 & 4) != 0)" ( (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" ( (binary_expression "bVar17 & 4" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;))) (labeled_statement "LAB_0004bad7:\n      DAT_000890f8 = 4;" statement_identifier : (expression_statement "DAT_000890f8 = 4;" (assignment_expression "DAT_000890f8 = 4" identifier = number_literal) ;)) (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x26);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x26)" identifier = (pointer_expression "*(byte *)((int)puVar32 + 0x26)" * (cast_expression "(byte *)((int)puVar32 + 0x26)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x26)" ( (binary_expression "(int)puVar32 + 0x26" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;" if (parenthesized_expression "((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))" ( (binary_expression "(((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))))" (parenthesized_expression "(((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11))))))))" ( (binary_expression "((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))" (parenthesized_expression "((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25)))" ( (binary_expression "(DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))" (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) || (parenthesized_expression "(-1 < *(char *)((int)puVar32 + 0x25))" ( (binary_expression "-1 < *(char *)((int)puVar32 + 0x25)" number_literal < (pointer_expression "*(char *)((int)puVar32 + 0x25)" * (cast_expression "(char *)((int)puVar32 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ))) )) && (parenthesized_expression "((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))" ( (parenthesized_expression "(((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11))))))" ( (binary_expression "((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))" (parenthesized_expression "((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8))))" ( (binary_expression "(((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))" (parenthesized_expression "(((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7))))" ( (binary_expression "((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))" (parenthesized_expression "((bVar17 & 2) != 0 && (bVar6))" ( (binary_expression "(bVar17 & 2) != 0 && (bVar6)" (binary_expression "(bVar17 & 2) != 0" (parenthesized_expression "(bVar17 & 2)" ( (binary_expression "bVar17 & 2" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar6)" ( identifier ))) )) || (parenthesized_expression "(((bVar17 & 4) != 0 && (bVar7)))" ( (parenthesized_expression "((bVar17 & 4) != 0 && (bVar7))" ( (binary_expression "(bVar17 & 4) != 0 && (bVar7)" (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" ( (binary_expression "bVar17 & 4" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar7)" ( identifier ))) )) ))) )) || (parenthesized_expression "(((bVar17 & 8) != 0 && (bVar8)))" ( (parenthesized_expression "((bVar17 & 8) != 0 && (bVar8))" ( (binary_expression "(bVar17 & 8) != 0 && (bVar8)" (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" ( (binary_expression "bVar17 & 8" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar8)" ( identifier ))) )) ))) )) || (parenthesized_expression "(((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))" ( (parenthesized_expression "((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11))))" ( (binary_expression "(((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))" (parenthesized_expression "(((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10))))" ( (binary_expression "((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))" (parenthesized_expression "((bVar17 & 0x10) != 0 && (bVar9))" ( (binary_expression "(bVar17 & 0x10) != 0 && (bVar9)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" ( (binary_expression "bVar17 & 0x10" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar9)" ( identifier ))) )) || (parenthesized_expression "(((bVar17 & 0x20) != 0 && (bVar10)))" ( (parenthesized_expression "((bVar17 & 0x20) != 0 && (bVar10))" ( (binary_expression "(bVar17 & 0x20) != 0 && (bVar10)" (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar10)" ( identifier ))) )) ))) )) || (parenthesized_expression "(((bVar17 & 0x40) != 0 && (bVar11)))" ( (parenthesized_expression "((bVar17 & 0x40) != 0 && (bVar11))" ( (binary_expression "(bVar17 & 0x40) != 0 && (bVar11)" (binary_expression "(bVar17 & 0x40) != 0" (parenthesized_expression "(bVar17 & 0x40)" ( (binary_expression "bVar17 & 0x40" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar11)" ( identifier ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))))" ( (parenthesized_expression "(((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))" ( (binary_expression "((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))" (parenthesized_expression "((bVar17 & 2) != 0 && (bVar12))" ( (binary_expression "(bVar17 & 2) != 0 && (bVar12)" (binary_expression "(bVar17 & 2) != 0" (parenthesized_expression "(bVar17 & 2)" ( (binary_expression "bVar17 & 2" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar12)" ( identifier ))) )) || (parenthesized_expression "(((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))" ( (parenthesized_expression "((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))" ( (binary_expression "(((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))" (parenthesized_expression "(((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14))))" ( (binary_expression "((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))" (parenthesized_expression "((bVar17 & 4) != 0 && (bVar13))" ( (binary_expression "(bVar17 & 4) != 0 && (bVar13)" (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" ( (binary_expression "bVar17 & 4" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar13)" ( identifier ))) )) || (parenthesized_expression "(((bVar17 & 8) != 0 && (bVar14)))" ( (parenthesized_expression "((bVar17 & 8) != 0 && (bVar14))" ( (binary_expression "(bVar17 & 8) != 0 && (bVar14)" (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" ( (binary_expression "bVar17 & 8" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar14)" ( identifier ))) )) ))) )) || (parenthesized_expression "((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))" ( (parenthesized_expression "(((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))" ( (binary_expression "((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))" (parenthesized_expression "((bVar17 & 0x10) != 0 && (bVar15))" ( (binary_expression "(bVar17 & 0x10) != 0 && (bVar15)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" ( (binary_expression "bVar17 & 0x10" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar15)" ( identifier ))) )) || (parenthesized_expression "(((bVar17 & 0x20) != 0 && (bVar16)))" ( (parenthesized_expression "((bVar17 & 0x20) != 0 && (bVar16))" ( (binary_expression "(bVar17 & 0x20) != 0 && (bVar16)" (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(bVar16)" ( identifier ))) )) ))) )) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) (if_statement "if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }" if (parenthesized_expression "((*(ushort *)(puVar32 + 9) & 0x1e0) == 0)" ( (binary_expression "(*(ushort *)(puVar32 + 9) & 0x1e0) == 0" (parenthesized_expression "(*(ushort *)(puVar32 + 9) & 0x1e0)" ( (binary_expression "*(ushort *)(puVar32 + 9) & 0x1e0" (pointer_expression "*(ushort *)(puVar32 + 9)" * (cast_expression "(ushort *)(puVar32 + 9)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 9)" ( (binary_expression "puVar32 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }" { (expression_statement "iVar19 = DAT_00088ffc;" (assignment_expression "iVar19 = DAT_00088ffc" identifier = identifier) ;) (if_statement "if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }" if (parenthesized_expression "(DAT_00088ffc != 0)" ( (binary_expression "DAT_00088ffc != 0" identifier != number_literal) )) (compound_statement "{\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);" do (compound_statement "{\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          }" { (expression_statement "uVar28 = iVar19 + 0xe;" (assignment_expression "uVar28 = iVar19 + 0xe" identifier = (binary_expression "iVar19 + 0xe" identifier + number_literal)) ;) (if_statement "if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }" if (parenthesized_expression "((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1)))" ( (binary_expression "(((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))" (parenthesized_expression "(((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0))" ( (binary_expression "((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)" (parenthesized_expression "((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0)" ( (binary_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0" (parenthesized_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1)" ( (binary_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1" (pointer_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2)" * (cast_expression "(byte *)(&DAT_00088fa0 + uVar28 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00088fa0 + uVar28 * 2)" ( (binary_expression "&DAT_00088fa0 + uVar28 * 2" (pointer_expression "&DAT_00088fa0" & identifier) + (binary_expression "uVar28 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)" ( (binary_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0" (parenthesized_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4)" ( (binary_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4" (pointer_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2)" * (cast_expression "(byte *)(&DAT_00088fa0 + uVar28 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00088fa0 + uVar28 * 2)" ( (binary_expression "&DAT_00088fa0 + uVar28 * 2" (pointer_expression "&DAT_00088fa0" & identifier) + (binary_expression "uVar28 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))" ( (binary_expression "-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1)" number_literal < (pointer_expression "*(char *)(puVar32 + (iVar19 + 6) * 2 + 1)" * (cast_expression "(char *)(puVar32 + (iVar19 + 6) * 2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + (iVar19 + 6) * 2 + 1)" ( (binary_expression "puVar32 + (iVar19 + 6) * 2 + 1" (binary_expression "puVar32 + (iVar19 + 6) * 2" identifier + (binary_expression "(iVar19 + 6) * 2" (parenthesized_expression "(iVar19 + 6)" ( (binary_expression "iVar19 + 6" identifier + number_literal) )) * number_literal)) + number_literal) ))))) ))) )) (compound_statement "{\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }" { (expression_statement "iVar23 = iVar19 + 6;" (assignment_expression "iVar23 = iVar19 + 6" identifier = (binary_expression "iVar19 + 6" identifier + number_literal)) ;) (if_statement "if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }" if (parenthesized_expression "(((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))))" ( (binary_expression "((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" (parenthesized_expression "((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))))" ( (binary_expression "(((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" (parenthesized_expression "(((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))))))))" ( (binary_expression "((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))" (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2) & 1)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2) & 1" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2)" ( (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))" ( (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))))))" ( (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))" ( (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))))" ( (binary_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))" (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))" ( (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))" ( (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))" ( (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 4)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" ( (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1" (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2)" ( (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) )))) >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" ( (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))" ( (binary_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))))" ( (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 8)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "(((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" ( (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 2)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 2)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 2" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" ( (parenthesized_expression "(((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))" ( (binary_expression "((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))))" ( (binary_expression "(((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))))))" ( (binary_expression "((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))" (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))))" ( (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "(((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" ( (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))" ( (binary_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))" ( (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))" ( (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))))" ( (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 4)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 8)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }" { (labeled_statement "LAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;" statement_identifier : (if_statement "if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;" if (parenthesized_expression "((*(byte *)(puVar32 + 9) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar32 + 9) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + 9) & 1)" ( (binary_expression "*(byte *)(puVar32 + 9) & 1" (pointer_expression "*(byte *)(puVar32 + 9)" * (cast_expression "(byte *)(puVar32 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 9)" ( (binary_expression "puVar32 + 9" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;))) (if_statement "if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }" if (parenthesized_expression "(DAT_00088ffc != 2)" ( (binary_expression "DAT_00088ffc != 2" identifier != number_literal) )) (compound_statement "{\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }" { (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28)" identifier (argument_list "("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""operand_size_match"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004bc61;" goto statement_identifier ;) })) (expression_statement "bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);" (assignment_expression "bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }" if (parenthesized_expression "((bVar17 & 0x10) != 0)" ( (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" ( (binary_expression "bVar17 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }" { (if_statement "if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;" if (parenthesized_expression "(((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0))))))" ( (binary_expression "((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))" (parenthesized_expression "((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))" ( (binary_expression "(((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (parenthesized_expression "(((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))))" ( (binary_expression "((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))" (parenthesized_expression "((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "(((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0))" ( (binary_expression "((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((bVar17 & 0x20) != 0)" ( (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))" ( (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))" ( (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" * (cast_expression "(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "uVar28 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))" ( (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0))))" ( (binary_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))" (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0))))))" ( (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 4)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0))))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x40)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x40" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))" ( (parenthesized_expression "(DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0))" ( (binary_expression "DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)" (binary_expression "DAT_000890cc == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 1) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 1)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 1" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 1)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 1" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004bc40;" goto statement_identifier ;)) (if_statement "if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" if (parenthesized_expression "((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))))" ( (binary_expression "(((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" (parenthesized_expression "(((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0))" ( (binary_expression "((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1" (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2)" ( (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) )))) >> number_literal) & number_literal) )) == number_literal) )) || (parenthesized_expression "((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + 0x2b)" * (cast_expression "(byte *)((int)puVar32 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2b)" ( (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" ( (parenthesized_expression "(bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))" ( (comma_expression "bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) , (binary_expression "(bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (binary_expression "(bVar17 & 0x20) == 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" ( (parenthesized_expression "(((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" ( (binary_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (parenthesized_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17))" ( (binary_expression "(bVar17 & 0x40) == 0 && (-1 < (char)bVar17)" (binary_expression "(bVar17 & 0x40) == 0" (parenthesized_expression "(bVar17 & 0x40)" ( (binary_expression "bVar17 & 0x40" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(-1 < (char)bVar17)" ( (binary_expression "-1 < (char)bVar17" number_literal < (cast_expression "(char)bVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ))) )) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) )))) )) ))) )) (compound_statement "{\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }" { (if_statement "if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;" if (parenthesized_expression "((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))" ( (binary_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))))" ( (binary_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))" ( (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0)" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 8)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))" ( (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20)" ( (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004bc40;" goto statement_identifier ;)) }) (else_clause "else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" else (compound_statement "{\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" { (expression_statement "bVar17 = (&DAT_00088fa4)[uVar28 * 8];" (assignment_expression "bVar17 = (&DAT_00088fa4)[uVar28 * 8]" identifier = (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "uVar28 * 8" identifier * number_literal) ])) ;) (expression_statement "uVar28 = (uint)bVar17;" (assignment_expression "uVar28 = (uint)bVar17" identifier = (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;" if (parenthesized_expression "(((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))" ( (binary_expression "((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" (parenthesized_expression "((bVar17 & 8) != 0)" ( (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" ( (binary_expression "bVar17 & 8" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" ( (parenthesized_expression "((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))" ( (binary_expression "(bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" ( (binary_expression "bVar17 & 0x10" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((bVar17 & 0x20) != 0)" ( (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004bc40;" goto statement_identifier ;)) }))) })) })) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 != DAT_00088ffc)" ( (binary_expression "iVar19 != DAT_00088ffc" identifier != identifier) )) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) })) }) (else_clause "else {\n        iVar19 = 0;\n      }" else (compound_statement "{\n        iVar19 = 0;\n      }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0004c04c;" goto statement_identifier ;) })) (if_statement "if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }" if (parenthesized_expression "(-1 < *(char *)(puVar32 + 0xb))" ( (binary_expression "-1 < *(char *)(puVar32 + 0xb)" number_literal < (pointer_expression "*(char *)(puVar32 + 0xb)" * (cast_expression "(char *)(puVar32 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) ))))) )) (compound_statement "{\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }" { (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2d);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2d)" identifier = (pointer_expression "*(byte *)((int)puVar32 + 0x2d)" * (cast_expression "(byte *)((int)puVar32 + 0x2d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2d)" ( (binary_expression "(int)puVar32 + 0x2d" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (DAT_00088ef0 == 0) goto LAB_0004bacf;" if (parenthesized_expression "(DAT_00088ef0 == 0)" ( (binary_expression "DAT_00088ef0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004bacf;" goto statement_identifier ;)) (labeled_statement "LAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;" statement_identifier : (if_statement "if ((bVar17 & 2) == 0) goto LAB_0004bad7;" if (parenthesized_expression "((bVar17 & 2) == 0)" ( (binary_expression "(bVar17 & 2) == 0" (parenthesized_expression "(bVar17 & 2)" ( (binary_expression "bVar17 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004bad7;" goto statement_identifier ;))) })) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;) })) (if_statement "if (puVar32 == (undefined4 *)DAT_00088f88[1]) {\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }" if (parenthesized_expression "(puVar32 == (undefined4 *)DAT_00088f88[1])" ( (binary_expression "puVar32 == (undefined4 *)DAT_00088f88[1]" identifier == (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) )) (compound_statement "{\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }" { (labeled_statement "LAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";" statement_identifier : (expression_statement "pcVar26 = "number of operands mismatch";" (assignment_expression "pcVar26 = "number of operands mismatch"" identifier = (string_literal ""number of operands mismatch"" " string_content ")) ;)) (goto_statement "goto LAB_0004ca20;" goto statement_identifier ;) })) (if_statement "if (DAT_00088ec0 != 0) {\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }" if (parenthesized_expression "(DAT_00088ec0 != 0)" ( (binary_expression "DAT_00088ec0 != 0" identifier != number_literal) )) (compound_statement "{\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }" { (expression_statement "puVar33 = puVar32;" (assignment_expression "puVar33 = puVar32" identifier = identifier) ;) (expression_statement "puVar21 = &DAT_00088fa0;" (assignment_expression "puVar21 = &DAT_00088fa0" identifier = (pointer_expression "&DAT_00088fa0" & identifier)) ;) (for_statement "for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }" for ( (assignment_expression "iVar19 = 0x16" identifier = number_literal) ; (binary_expression "iVar19 != 0" identifier != number_literal) ; (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }" { (expression_statement "*puVar21 = *puVar33;" (assignment_expression "*puVar21 = *puVar33" (pointer_expression "*puVar21" * identifier) = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar21 + 1;" (assignment_expression "puVar21 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;) })) (return_statement "return puVar32;" return identifier ;) })) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004bed8;" goto statement_identifier ;) (labeled_statement "LAB_0004bc61:\n  if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }" statement_identifier : (if_statement "if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }" if (parenthesized_expression "(((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0))" ( (binary_expression "((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)" (parenthesized_expression "((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0)" ( (binary_expression "(*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1)" ( (binary_expression "*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1" (pointer_expression "*(byte *)(puVar32 + (uVar28 + 6) * 2)" * (cast_expression "(byte *)(puVar32 + (uVar28 + 6) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + (uVar28 + 6) * 2)" ( (binary_expression "puVar32 + (uVar28 + 6) * 2" identifier + (binary_expression "(uVar28 + 6) * 2" (parenthesized_expression "(uVar28 + 6)" ( (binary_expression "uVar28 + 6" identifier + number_literal) )) * number_literal)) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2)" * (cast_expression "(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + (uVar28 + 6) * 8 + 2)" ( (binary_expression "(int)puVar32 + (uVar28 + 6) * 8 + 2" (binary_expression "(int)puVar32 + (uVar28 + 6) * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uVar28 + 6) * 8" (parenthesized_expression "(uVar28 + 6)" ( (binary_expression "uVar28 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }" { (expression_statement "uVar20 = uVar28 ^ 1;" (assignment_expression "uVar20 = uVar28 ^ 1" identifier = (binary_expression "uVar28 ^ 1" identifier ^ number_literal)) ;) (expression_statement "iVar19 = uVar20 + 0xe;" (assignment_expression "iVar19 = uVar20 + 0xe" identifier = (binary_expression "uVar20 + 0xe" identifier + number_literal)) ;) (if_statement "if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;" if (parenthesized_expression "((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0))))))" ( (binary_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))" (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)))))" ( (binary_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))" (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0))))" ( (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0))" ( (binary_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (binary_expression "(int)puVar32 + (uVar20 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (uVar20 + 6) * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uVar20 + 6) * 8" (parenthesized_expression "(uVar20 + 6)" ( (binary_expression "uVar20 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0))" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (binary_expression "(int)puVar32 + (uVar20 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (uVar20 + 6) * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uVar20 + 6) * 8" (parenthesized_expression "(uVar20 + 6)" ( (binary_expression "uVar20 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) || (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))" ( (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)))" ( (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + (uVar20 + 6) * 8 + 3)" ( (binary_expression "(int)puVar32 + (uVar20 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (uVar20 + 6) * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uVar20 + 6) * 8" (parenthesized_expression "(uVar20 + 6)" ( (binary_expression "uVar20 + 6" identifier + number_literal) )) * number_literal)) + number_literal) ))))) ))) )) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))" ( (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0))))" ( (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" * (cast_expression "(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + (uVar20 + 6) * 2 + 1)" ( (binary_expression "puVar32 + (uVar20 + 6) * 2 + 1" (binary_expression "puVar32 + (uVar20 + 6) * 2" identifier + (binary_expression "(uVar20 + 6) * 2" (parenthesized_expression "(uVar20 + 6)" ( (binary_expression "uVar20 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 4)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4)" ( (binary_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" * (cast_expression "(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + (uVar20 + 6) * 2 + 1)" ( (binary_expression "puVar32 + (uVar20 + 6) * 2 + 1" (binary_expression "puVar32 + (uVar20 + 6) * 2" identifier + (binary_expression "(uVar20 + 6) * 2" (parenthesized_expression "(uVar20 + 6)" ( (binary_expression "uVar20 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) }))) (if_statement "if ((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0) {\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }" if (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + (uVar28 + 0xe) * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "(uVar28 + 0xe) * 8" (parenthesized_expression "(uVar28 + 0xe)" ( (binary_expression "uVar28 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }" { (expression_statement "local_d4 = uVar28 ^ 1;" (assignment_expression "local_d4 = uVar28 ^ 1" identifier = (binary_expression "uVar28 ^ 1" identifier ^ number_literal)) ;) (expression_statement "iVar19 = local_d4 + 0xe;" (assignment_expression "iVar19 = local_d4 + 0xe" identifier = (binary_expression "local_d4 + 0xe" identifier + number_literal)) ;) (if_statement "if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;" if (parenthesized_expression "((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0))))" ( (binary_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))" (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))))))))" ( (binary_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))" (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0))))" ( (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0))" ( (binary_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + (local_d4 + 6) * 8 + 3)" ( (binary_expression "(int)puVar32 + (local_d4 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (local_d4 + 6) * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(local_d4 + 6) * 8" (parenthesized_expression "(local_d4 + 6)" ( (binary_expression "local_d4 + 6" identifier + number_literal) )) * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))" ( (parenthesized_expression "(local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0))" ( (comma_expression "local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)" (assignment_expression "local_d4 = local_d4 + 6" identifier = (binary_expression "local_d4 + 6" identifier + number_literal)) , (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + local_d4 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 3)" ( (binary_expression "(int)puVar32 + local_d4 * 8 + 3" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )))) )) ))) )) || (parenthesized_expression "(((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))" ( (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))))))" ( (binary_expression "(*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))" (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3)))" ( (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" * (cast_expression "(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "iVar19 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))" ( (binary_expression "-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3)" number_literal < (pointer_expression "*(char *)((int)puVar32 + local_d4 * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + local_d4 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 3)" ( (binary_expression "(int)puVar32 + local_d4 * 8 + 3" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) ))))) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))" ( (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))))" ( (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))" ( (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))" ( (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 4)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 4)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )" ( (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)))" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x40)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 0x40" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)))" ( (parenthesized_expression "(DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))" ( (binary_expression "DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)" (binary_expression "DAT_000890cc == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 1) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 1)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 1" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 1)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 1" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) (if_statement "if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" if (parenthesized_expression "((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))))))" ( (binary_expression "(((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))" (parenthesized_expression "(((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0))" ( (binary_expression "((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2) & 4)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2) & 4" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2)" ( (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)puVar32 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + 0x2b)" * (cast_expression "(byte *)((int)puVar32 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2b)" ( (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))" ( (parenthesized_expression "(bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))))" ( (comma_expression "bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + local_d4 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 3)" ( (binary_expression "(int)puVar32 + local_d4 * 8 + 3" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) ))))) , (binary_expression "(bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))" (binary_expression "(bVar17 & 0x20) == 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) == number_literal) && (parenthesized_expression "((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))" ( (parenthesized_expression "(((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))" ( (binary_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" (parenthesized_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17))" ( (binary_expression "(bVar17 & 0x40) == 0 && (-1 < (char)bVar17)" (binary_expression "(bVar17 & 0x40) == 0" (parenthesized_expression "(bVar17 & 0x40)" ( (binary_expression "bVar17 & 0x40" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(-1 < (char)bVar17)" ( (binary_expression "-1 < (char)bVar17" number_literal < (cast_expression "(char)bVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ))) )) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) )))) )) ))) )) (compound_statement "{\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }" { (if_statement "if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;" if (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0))))))" ( (binary_expression "((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))" (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0))" ( (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 8) != 0)" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 8)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 8)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))" ( (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0))))" ( (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x10)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))" ( (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0))" ( (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x20)" ( (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" ( (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" identifier + (binary_expression "local_d4 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) }) (else_clause "else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" else (compound_statement "{\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" { (expression_statement "bVar17 = (&DAT_00088fa4)[iVar19 * 8];" (assignment_expression "bVar17 = (&DAT_00088fa4)[iVar19 * 8]" identifier = (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "iVar19 * 8" identifier * number_literal) ])) ;) (if_statement "if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;" if (parenthesized_expression "(((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))" ( (binary_expression "((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" (parenthesized_expression "((bVar17 & 8) != 0)" ( (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" ( (binary_expression "bVar17 & 8" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" ( (parenthesized_expression "((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))" ( (binary_expression "(bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" ( (binary_expression "bVar17 & 0x10" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((bVar17 & 0x20) != 0)" ( (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004c4e4;" goto statement_identifier ;)) }))) })) (if_statement "if (uVar28 == 1) goto code_r0x0004be14;" if (parenthesized_expression "(uVar28 == 1)" ( (binary_expression "uVar28 == 1" identifier == number_literal) )) (goto_statement "goto code_r0x0004be14;" goto statement_identifier ;)) (expression_statement "uVar28 = 1;" (assignment_expression "uVar28 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0004bc61;" goto statement_identifier ;) (labeled_statement "LAB_0004c4e4:\n  DAT_000890f8 = 0;" statement_identifier : (expression_statement "DAT_000890f8 = 0;" (assignment_expression "DAT_000890f8 = 0" identifier = number_literal) ;)) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) (labeled_statement "code_r0x0004be14:\n  iVar19 = 0;" statement_identifier : (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0004c04c:\n  do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);" statement_identifier : (do_statement "do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);" do (compound_statement "{\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  }" { (expression_statement "uVar28 = puVar32[iVar19 * 2 + 0xd];" (assignment_expression "uVar28 = puVar32[iVar19 * 2 + 0xd]" identifier = (subscript_expression "puVar32[iVar19 * 2 + 0xd]" identifier [ (binary_expression "iVar19 * 2 + 0xd" (binary_expression "iVar19 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "(&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];" (assignment_expression "(&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc]" (subscript_expression "(&local_44)[iVar19 * 2]" (parenthesized_expression "(&local_44)" ( (pointer_expression "&local_44" & identifier) )) [ (binary_expression "iVar19 * 2" identifier * number_literal) ]) = (subscript_expression "puVar32[iVar19 * 2 + 0xc]" identifier [ (binary_expression "iVar19 * 2 + 0xc" (binary_expression "iVar19 * 2" identifier * number_literal) + number_literal) ])) ;) (expression_statement "(&local_40)[iVar19 * 2] = uVar28;" (assignment_expression "(&local_40)[iVar19 * 2] = uVar28" (subscript_expression "(&local_40)[iVar19 * 2]" (parenthesized_expression "(&local_40)" ( (pointer_expression "&local_40" & identifier) )) [ (binary_expression "iVar19 * 2" identifier * number_literal) ]) = identifier) ;) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar19 != 5)" ( (binary_expression "iVar19 != 5" identifier != number_literal) )) ;)) (if_statement "if (DAT_00088ff8 == 'q') {\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }\n  else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }" if (parenthesized_expression "(DAT_00088ff8 == 'q')" ( (binary_expression "DAT_00088ff8 == 'q'" identifier == (char_literal "'q'" ' character ')) )) (compound_statement "{\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }" { (if_statement "if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }" if (parenthesized_expression "(DAT_00088f0c != 2)" ( (binary_expression "DAT_00088f0c != 2" identifier != number_literal) )) (compound_statement "{\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }" { (if_statement "if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" if (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }" { (if_statement "if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;" if (parenthesized_expression "((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2))" ( (binary_expression "(*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)" (parenthesized_expression "(*(char *)*puVar32 != 'f')" ( (binary_expression "*(char *)*puVar32 != 'f'" (pointer_expression "*(char *)*puVar32" * (cast_expression "(char *)*puVar32" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar32" * identifier))) != (char_literal "'f'" ' character ')) )) || (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 != 2)" ( (comma_expression "iVar19 = FUN_00045bd0(), iVar19 != 2" (assignment_expression "iVar19 = FUN_00045bd0()" identifier = (call_expression "FUN_00045bd0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar19 != 2" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0004be5a;" goto statement_identifier ;)) }) (else_clause "else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" else (if_statement "if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" if (parenthesized_expression "((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0))))" ( (binary_expression "(-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))" (parenthesized_expression "(-1 < *(char *)((int)puVar32 + 0x25))" ( (binary_expression "-1 < *(char *)((int)puVar32 + 0x25)" number_literal < (pointer_expression "*(char *)((int)puVar32 + 0x25)" * (cast_expression "(char *)((int)puVar32 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) && (parenthesized_expression "((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))" ( (parenthesized_expression "(*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0))" ( (binary_expression "*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)" (binary_expression "*(char *)*puVar32 != 'f'" (pointer_expression "*(char *)*puVar32" * (cast_expression "(char *)*puVar32" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar32" * identifier))) != (char_literal "'f'" ' character ')) || (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 == 0)" ( (comma_expression "iVar19 = FUN_00045bd0(), iVar19 == 0" (assignment_expression "iVar19 = FUN_00045bd0()" identifier = (call_expression "FUN_00045bd0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) ))) )) (compound_statement "{\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" { (labeled_statement "LAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }" statement_identifier : (if_statement "if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }" if (parenthesized_expression "((local_44 & 6) != 0)" ( (binary_expression "(local_44 & 6) != 0" (parenthesized_expression "(local_44 & 6)" ( (binary_expression "local_44 & 6" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }" { (expression_statement "local_d4 = puVar32[1];" (assignment_expression "local_d4 = puVar32[1]" identifier = (subscript_expression "puVar32[1]" identifier [ number_literal ])) ;) (if_statement "if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;" if (parenthesized_expression "(((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0))" ( (binary_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)" (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0)" ( (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2)" ( (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" * (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" ( (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" & identifier) + (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < local_d4)" ( (binary_expression "1 < local_d4" number_literal < identifier) ))) * number_literal)) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)" ( (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4)" ( (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" * (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" ( (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" & identifier) + (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < local_d4)" ( (binary_expression "1 < local_d4" number_literal < identifier) ))) * number_literal)) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004c397;" goto statement_identifier ;)) }))) (if_statement "if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }" if (parenthesized_expression "((puVar32[2] != 0xfc7) || (puVar32[3] != 1))" ( (binary_expression "(puVar32[2] != 0xfc7) || (puVar32[3] != 1)" (parenthesized_expression "(puVar32[2] != 0xfc7)" ( (binary_expression "puVar32[2] != 0xfc7" (subscript_expression "puVar32[2]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(puVar32[3] != 1)" ( (binary_expression "puVar32[3] != 1" (subscript_expression "puVar32[3]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }" { (labeled_statement "LAB_0004bea5:\n          local_d8 = -1;" statement_identifier : (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;)) (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" identifier = (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar33 = puVar32 + 0x16;" (assignment_expression "puVar33 = puVar32 + 0x16" identifier = (binary_expression "puVar32 + 0x16" identifier + number_literal)) ;) (if_statement "if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;" if (parenthesized_expression "(puVar21 <= puVar32 + 0x16)" ( (binary_expression "puVar21 <= puVar32 + 0x16" identifier <= (binary_expression "puVar32 + 0x16" identifier + number_literal)) )) (goto_statement "goto LAB_0004bec0;" goto statement_identifier ;)) (goto_statement "goto LAB_0004ba5c;" goto statement_identifier ;) })) })))) })) (labeled_statement "LAB_0004c390:\n    local_d4 = puVar32[1];" statement_identifier : (expression_statement "local_d4 = puVar32[1];" (assignment_expression "local_d4 = puVar32[1]" identifier = (subscript_expression "puVar32[1]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }" else (compound_statement "{\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }" { (if_statement "if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;" if (parenthesized_expression "((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0))" ( (binary_expression "(DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)" (parenthesized_expression "(DAT_00088ff8 != 'l')" ( (binary_expression "DAT_00088ff8 != 'l'" identifier != (char_literal "'l'" ' character ')) )) || (parenthesized_expression "((DAT_0008053c & 4) != 0)" ( (binary_expression "(DAT_0008053c & 4) != 0" (parenthesized_expression "(DAT_0008053c & 4)" ( (binary_expression "DAT_0008053c & 4" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004c390;" goto statement_identifier ;)) (if_statement "if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;" if (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }" { (if_statement "if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;" if (parenthesized_expression "((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2))" ( (binary_expression "(*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)" (parenthesized_expression "(*(char *)*puVar32 == 'f')" ( (binary_expression "*(char *)*puVar32 == 'f'" (pointer_expression "*(char *)*puVar32" * (cast_expression "(char *)*puVar32" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar32" * identifier))) == (char_literal "'f'" ' character ')) )) && (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 == 2)" ( (comma_expression "iVar19 = FUN_00045bd0(), iVar19 == 2" (assignment_expression "iVar19 = FUN_00045bd0()" identifier = (call_expression "FUN_00045bd0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar19 == 2" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0004c390;" goto statement_identifier ;)) }) (else_clause "else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;" else (if_statement "if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;" if (parenthesized_expression "((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))" ( (binary_expression "(*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0)))" (parenthesized_expression "(*(char *)((int)puVar32 + 0x25) < '\0')" ( (binary_expression "*(char *)((int)puVar32 + 0x25) < '\0'" (pointer_expression "*(char *)((int)puVar32 + 0x25)" * (cast_expression "(char *)((int)puVar32 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0)))" ( (parenthesized_expression "(*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))" ( (binary_expression "*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0)" (binary_expression "*(char *)*puVar32 == 'f'" (pointer_expression "*(char *)*puVar32" * (cast_expression "(char *)*puVar32" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar32" * identifier))) == (char_literal "'f'" ' character ')) && (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 != 0)" ( (comma_expression "iVar19 = FUN_00045bd0(), iVar19 != 0" (assignment_expression "iVar19 = FUN_00045bd0()" identifier = (call_expression "FUN_00045bd0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar19 != 0" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0004c390;" goto statement_identifier ;)))) (if_statement "if ((local_44 & 6) == 0) goto LAB_0004bea5;" if (parenthesized_expression "((local_44 & 6) == 0)" ( (binary_expression "(local_44 & 6) == 0" (parenthesized_expression "(local_44 & 6)" ( (binary_expression "local_44 & 6" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) (expression_statement "local_d4 = puVar32[1];" (assignment_expression "local_d4 = puVar32[1]" identifier = (subscript_expression "puVar32[1]" identifier [ number_literal ])) ;) (if_statement "if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;" if (parenthesized_expression "(((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0))" ( (binary_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)" (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0)" ( (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2)" ( (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" * (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" ( (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" & identifier) + (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < local_d4)" ( (binary_expression "1 < local_d4" number_literal < identifier) ))) * number_literal)) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)" ( (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4)" ( (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" * (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" ( (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" & identifier) + (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < local_d4)" ( (binary_expression "1 < local_d4" number_literal < identifier) ))) * number_literal)) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0004bea5;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }" statement_identifier : (if_statement "if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }" if (parenthesized_expression "(local_d4 == 0)" ( (binary_expression "local_d4 == 0" identifier == number_literal) )) (compound_statement "{\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }" { (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" identifier = (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0004bec6;" goto statement_identifier ;) }))) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (if_statement "if (DAT_00089092 != '\0') {\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }" if (parenthesized_expression "(DAT_00089092 != '\0')" ( (binary_expression "DAT_00089092 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }" { (if_statement "if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }" if (parenthesized_expression "(DAT_00088f0c == 1)" ( (binary_expression "DAT_00088f0c == 1" identifier == number_literal) )) (compound_statement "{\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }" { (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (do_statement "do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);" do (compound_statement "{\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      }" { (if_statement "if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }" if (parenthesized_expression "((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0)" ( (binary_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0" (parenthesized_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2)" ( (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }" { (expression_statement "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;" (assignment_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4" (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;) })) (expression_statement "local_d8 = local_d8 + 1;" (assignment_expression "local_d8 = local_d8 + 1" identifier = (binary_expression "local_d8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_d8 != 5)" ( (binary_expression "local_d8 != 5" identifier != number_literal) )) ;) }) (else_clause "else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }" else (compound_statement "{\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }" { (expression_statement "local_d8 = DAT_00088f0c;" (assignment_expression "local_d8 = DAT_00088f0c" identifier = identifier) ;) (if_statement "if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" if (parenthesized_expression "(DAT_00088f0c == 0)" ( (binary_expression "DAT_00088f0c == 0" identifier == number_literal) )) (compound_statement "{\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" { (do_statement "do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);" do (compound_statement "{\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        }" { (if_statement "if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }" if (parenthesized_expression "((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0)" ( (binary_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0" (parenthesized_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4)" ( (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }" { (expression_statement "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;" (assignment_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2" (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;) })) (expression_statement "local_d8 = local_d8 + 1;" (assignment_expression "local_d8 = local_d8 + 1" identifier = (binary_expression "local_d8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_d8 != 5)" ( (binary_expression "local_d8 != 5" identifier != number_literal) )) ;) }) (else_clause "else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" else (compound_statement "{\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" { (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) (if_statement "if (DAT_00088f0c != 2) goto LAB_0004c3ff;" if (parenthesized_expression "(DAT_00088f0c != 2)" ( (binary_expression "DAT_00088f0c != 2" identifier != number_literal) )) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;)) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (do_statement "do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);" do (compound_statement "{\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        }" { (if_statement "if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }" if (parenthesized_expression "((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10)" ( (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }" { (expression_statement "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;" (assignment_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) = (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4" (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" * (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" ( (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44" & identifier)) + (binary_expression "local_d8 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_0004c3ff;" goto statement_identifier ;) })) (expression_statement "local_d8 = local_d8 + 1;" (assignment_expression "local_d8 = local_d8 + 1" identifier = (binary_expression "local_d8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_d8 != 5)" ( (binary_expression "local_d8 != 5" identifier != number_literal) )) ;) }))) }))) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" identifier = number_literal) ;) })) (labeled_statement "LAB_0004c3ff:\n  if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;" statement_identifier : (if_statement "if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;" if (parenthesized_expression "((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0))" ( (binary_expression "(DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)" (parenthesized_expression "(DAT_00089060 == 0x164)" ( (binary_expression "DAT_00089060 == 0x164" identifier == number_literal) )) && (parenthesized_expression "(puVar32[2] == 0xa0)" ( (binary_expression "puVar32[2] == 0xa0" (subscript_expression "puVar32[2]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;))) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" identifier = number_literal) ;) (if_statement "if ((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) {\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }" if (parenthesized_expression "((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + 0x25) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + 0x25)" * (cast_expression "(byte *)((int)puVar32 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }" { (expression_statement "local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;" (assignment_expression "local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1" identifier = (binary_expression "(1 << ((byte)local_d4 & 0x1f)) - 1" (parenthesized_expression "(1 << ((byte)local_d4 & 0x1f))" ( (binary_expression "1 << ((byte)local_d4 & 0x1f)" number_literal << (parenthesized_expression "((byte)local_d4 & 0x1f)" ( (binary_expression "(byte)local_d4 & 0x1f" (cast_expression "(byte)local_d4" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )) - number_literal)) ;) (if_statement "if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }" if (parenthesized_expression "(DAT_000890cc != (int *)0x0)" ( (binary_expression "DAT_000890cc != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }" { (expression_statement "local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));" (assignment_expression "local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f))" identifier = (binary_expression "local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f))" identifier & (unary_expression "~(1 << ((byte)DAT_000890cc[1] & 0x1f))" ~ (parenthesized_expression "(1 << ((byte)DAT_000890cc[1] & 0x1f))" ( (binary_expression "1 << ((byte)DAT_000890cc[1] & 0x1f)" number_literal << (parenthesized_expression "((byte)DAT_000890cc[1] & 0x1f)" ( (binary_expression "(byte)DAT_000890cc[1] & 0x1f" (cast_expression "(byte)DAT_000890cc[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "DAT_000890cc[1]" identifier [ number_literal ])) & number_literal) ))) ))))) ;) })) })) (expression_statement "uVar20 = DAT_00089010 & local_44;" (assignment_expression "uVar20 = DAT_00089010 & local_44" identifier = (binary_expression "DAT_00089010 & local_44" identifier & identifier)) ;) (expression_statement "bVar17 = (byte)(uVar20 >> 0x10);" (assignment_expression "bVar17 = (byte)(uVar20 >> 0x10)" identifier = (call_expression "(byte)(uVar20 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar20 >> 0x10)" ( (binary_expression "uVar20 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "local_8c = (byte)(uVar20 >> 0x18);" (assignment_expression "local_8c = (byte)(uVar20 >> 0x18)" identifier = (call_expression "(byte)(uVar20 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar20 >> 0x18)" ( (binary_expression "uVar20 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "bVar29 = (byte)(DAT_00089010 >> 0x18);" (assignment_expression "bVar29 = (byte)(DAT_00089010 >> 0x18)" identifier = (call_expression "(byte)(DAT_00089010 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_00089010 >> 0x18)" ( (binary_expression "DAT_00089010 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "bVar18 = (byte)(DAT_00089018 >> 0x10);" (assignment_expression "bVar18 = (byte)(DAT_00089018 >> 0x10)" identifier = (call_expression "(byte)(DAT_00089018 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_00089018 >> 0x10)" ( (binary_expression "DAT_00089018 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "bVar30 = (byte)(DAT_00089018 >> 0x18);" (assignment_expression "bVar30 = (byte)(DAT_00089018 >> 0x18)" identifier = (call_expression "(byte)(DAT_00089018 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(DAT_00089018 >> 0x18)" ( (binary_expression "DAT_00089018 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "local_c8 = (byte)DAT_00089014;" (assignment_expression "local_c8 = (byte)DAT_00089014" identifier = (cast_expression "(byte)DAT_00089014" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar28 = local_dc;" (assignment_expression "uVar28 = local_dc" identifier = identifier) ;) (switch_statement "switch(local_d4) {\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }" switch (parenthesized_expression "(local_d4)" ( identifier )) (compound_statement "{\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }" { (case_statement "default:\n    goto LAB_0004c685;" default : (goto_statement "goto LAB_0004c685;" goto statement_identifier ;)) (case_statement "case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;" case number_literal : (if_statement "if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;" if (parenthesized_expression "(((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))" ( (binary_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)" (parenthesized_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0)" ( (binary_expression "(uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0" (binary_expression "(uVar20 & 0x1dffffff) != 0" (parenthesized_expression "(uVar20 & 0x1dffffff)" ( (binary_expression "uVar20 & 0x1dffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(DAT_00089014 & local_40 & 0xffffff80) != 0" (parenthesized_expression "(DAT_00089014 & local_40 & 0xffffff80)" ( (binary_expression "DAT_00089014 & local_40 & 0xffffff80" (binary_expression "DAT_00089014 & local_40" identifier & identifier) & number_literal) )) != number_literal)) )) && (parenthesized_expression "(((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)" ( (binary_expression "((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0" (binary_expression "((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0" (parenthesized_expression "((DAT_00089010._2_1_ ^ bVar17) & 0x40)" ( (binary_expression "(DAT_00089010._2_1_ ^ bVar17) & 0x40" (parenthesized_expression "(DAT_00089010._2_1_ ^ bVar17)" ( (binary_expression "DAT_00089010._2_1_ ^ bVar17" (field_expression "DAT_00089010._2_1_" identifier . field_identifier) ^ identifier) )) & number_literal) )) == number_literal) && (binary_expression "((bVar29 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar29 ^ local_8c) & 2)" ( (binary_expression "(bVar29 ^ local_8c) & 2" (parenthesized_expression "(bVar29 ^ local_8c)" ( (binary_expression "bVar29 ^ local_8c" identifier ^ identifier) )) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0004c685;" goto statement_identifier ;)) (goto_statement "goto code_r0x0004c880;" goto statement_identifier ;)) (case_statement "case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;" case number_literal : (if_statement "if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;" if (parenthesized_expression "(DAT_00088f0c == 2)" ( (binary_expression "DAT_00088f0c == 2" identifier == number_literal) )) (compound_statement "{\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }" { (if_statement "if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;" if (parenthesized_expression "((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4))))" ( (binary_expression "(((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))" (parenthesized_expression "(((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5))" ( (binary_expression "((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)" (parenthesized_expression "((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4))" ( (binary_expression "(puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)" (parenthesized_expression "(puVar32[2] == 0x90)" ( (binary_expression "puVar32[2] == 0x90" (subscript_expression "puVar32[2]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(DAT_00089014 == _UNK_000654f4)" ( (binary_expression "DAT_00089014 == _UNK_000654f4" identifier == identifier) ))) )) && (parenthesized_expression "(DAT_00089010 == uVar5)" ( (binary_expression "DAT_00089010 == uVar5" identifier == identifier) ))) )) && (parenthesized_expression "((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))" ( (parenthesized_expression "(DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4))" ( (binary_expression "DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)" (binary_expression "DAT_00089018 == uVar5" identifier == identifier) && (parenthesized_expression "(DAT_0008901c == _UNK_000654f4)" ( (binary_expression "DAT_0008901c == _UNK_000654f4" identifier == identifier) ))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) }) (else_clause "else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;" else (if_statement "if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;" if (parenthesized_expression "(((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0))" ( (binary_expression "((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)" (parenthesized_expression "((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0))))" ( (binary_expression "(DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))" (parenthesized_expression "(DAT_000890ec != 0)" ( (binary_expression "DAT_000890ec != 0" identifier != number_literal) )) && (parenthesized_expression "((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))" ( (parenthesized_expression "(puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0))" ( (binary_expression "puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)" (binary_expression "puVar32[2] == 0xa0" (subscript_expression "puVar32[2]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((DAT_00089010 & 0x200000) != 0)" ( (binary_expression "(DAT_00089010 & 0x200000) != 0" (parenthesized_expression "(DAT_00089010 & 0x200000)" ( (binary_expression "DAT_00089010 & 0x200000" identifier & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "((DAT_00089018 & 0x5f0000) != 0)" ( (binary_expression "(DAT_00089018 & 0x5f0000) != 0" (parenthesized_expression "(DAT_00089018 & 0x5f0000)" ( (binary_expression "DAT_00089018 & 0x5f0000" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)))) (if_statement "if (DAT_000890d4 != 2) goto code_r0x0004c54a;" if (parenthesized_expression "(DAT_000890d4 != 2)" ( (binary_expression "DAT_000890d4 != 2" identifier != number_literal) )) (goto_statement "goto code_r0x0004c54a;" goto statement_identifier ;)) (expression_statement "bVar4 = *(byte *)(puVar32 + 9);" (assignment_expression "bVar4 = *(byte *)(puVar32 + 9)" identifier = (pointer_expression "*(byte *)(puVar32 + 9)" * (cast_expression "(byte *)(puVar32 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 9)" ( (binary_expression "puVar32 + 9" identifier + number_literal) ))))) ;) (if_statement "if ((bVar4 & 1) == 0) goto code_r0x0004c538;" if (parenthesized_expression "((bVar4 & 1) == 0)" ( (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto code_r0x0004c538;" goto statement_identifier ;)) (goto_statement "goto code_r0x0004c7fc;" goto statement_identifier ;)) (case_statement "case 3:\n    break;" case number_literal : (break_statement "break;" break ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 5:\n    goto code_r0x0004c54a;" case number_literal : (goto_statement "goto code_r0x0004c54a;" goto statement_identifier ;)) })) (if_statement "if (DAT_000890d4 == 2) {\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }" if (parenthesized_expression "(DAT_000890d4 == 2)" ( (binary_expression "DAT_000890d4 == 2" identifier == number_literal) )) (compound_statement "{\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }" { (labeled_statement "code_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;" statement_identifier : (if_statement "if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;" if (parenthesized_expression "((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0))" ( (binary_expression "(DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)" (parenthesized_expression "(DAT_00089008 == 0)" ( (binary_expression "DAT_00089008 == 0" identifier == number_literal) )) && (parenthesized_expression "((*(byte *)(puVar32 + 9) & 4) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 9) & 4) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 9) & 4)" ( (binary_expression "*(byte *)(puVar32 + 9) & 4" (pointer_expression "*(byte *)(puVar32 + 9)" * (cast_expression "(byte *)(puVar32 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 9)" ( (binary_expression "puVar32 + 9" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;))) })) (labeled_statement "code_r0x0004c54a:\n  if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }" statement_identifier : (if_statement "if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }" if (parenthesized_expression "(((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0))))" ( (binary_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))" (parenthesized_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0)" ( (binary_expression "(uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0" (binary_expression "(uVar20 & 0x1dffffff) != 0" (parenthesized_expression "(uVar20 & 0x1dffffff)" ( (binary_expression "uVar20 & 0x1dffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(DAT_00089014 & local_40 & 0xffffff80) != 0" (parenthesized_expression "(DAT_00089014 & local_40 & 0xffffff80)" ( (binary_expression "DAT_00089014 & local_40 & 0xffffff80" (binary_expression "DAT_00089014 & local_40" identifier & identifier) & number_literal) )) != number_literal)) )) && (parenthesized_expression "(((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))" ( (parenthesized_expression "((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0))" ( (binary_expression "(((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)" (parenthesized_expression "(((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0))" ( (binary_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)" (binary_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0" (binary_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0" (parenthesized_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40)" ( (binary_expression "(bVar17 ^ DAT_00089010._2_1_) & 0x40" (parenthesized_expression "(bVar17 ^ DAT_00089010._2_1_)" ( (binary_expression "bVar17 ^ DAT_00089010._2_1_" identifier ^ (field_expression "DAT_00089010._2_1_" identifier . field_identifier)) )) & number_literal) )) == number_literal) && (binary_expression "((bVar29 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar29 ^ local_8c) & 2)" ( (binary_expression "(bVar29 ^ local_8c) & 2" (parenthesized_expression "(bVar29 ^ local_8c)" ( (binary_expression "bVar29 ^ local_8c" identifier ^ identifier) )) & number_literal) )) == number_literal)) && (parenthesized_expression "(uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)" ( (comma_expression "uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0" (assignment_expression "uVar20 = DAT_00089018 & local_3c" identifier = (binary_expression "DAT_00089018 & local_3c" identifier & identifier)) , (binary_expression "(uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0" (binary_expression "(uVar20 & 0x1dffffff) != 0" (parenthesized_expression "(uVar20 & 0x1dffffff)" ( (binary_expression "uVar20 & 0x1dffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(DAT_0008901c & local_38 & 0xffffff80) != 0" (parenthesized_expression "(DAT_0008901c & local_38 & 0xffffff80)" ( (binary_expression "DAT_0008901c & local_38 & 0xffffff80" (binary_expression "DAT_0008901c & local_38" identifier & identifier) & number_literal) )) != number_literal))) ))) )) && (parenthesized_expression "(local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)" ( (comma_expression "local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0" (assignment_expression "local_8c = (byte)(uVar20 >> 0x18)" identifier = (call_expression "(byte)(uVar20 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar20 >> 0x18)" ( (binary_expression "uVar20 >> 0x18" identifier >> number_literal) )))) , (binary_expression "(((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0" (binary_expression "(((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0" (parenthesized_expression "(((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40)" ( (binary_expression "((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40" (parenthesized_expression "((byte)(uVar20 >> 0x10) ^ bVar18)" ( (binary_expression "(byte)(uVar20 >> 0x10) ^ bVar18" (call_expression "(byte)(uVar20 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar20 >> 0x10)" ( (binary_expression "uVar20 >> 0x10" identifier >> number_literal) ))) ^ identifier) )) & number_literal) )) == number_literal) && (binary_expression "((bVar30 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar30 ^ local_8c) & 2)" ( (binary_expression "(bVar30 ^ local_8c) & 2" (parenthesized_expression "(bVar30 ^ local_8c)" ( (binary_expression "bVar30 ^ local_8c" identifier ^ identifier) )) & number_literal) )) == number_literal))) ))) )) ))) )) (compound_statement "{\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }" { (if_statement "if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }" if (parenthesized_expression "((local_d0 & 3) == 3)" ( (binary_expression "(local_d0 & 3) == 3" (parenthesized_expression "(local_d0 & 3)" ( (binary_expression "local_d0 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }" { (if_statement "if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }" if (parenthesized_expression "((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))))))))" ( (binary_expression "(((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))" (parenthesized_expression "(((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0))))" ( (binary_expression "((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))" (parenthesized_expression "((DAT_00089010 & 5) != 0)" ( (binary_expression "(DAT_00089010 & 5) != 0" (parenthesized_expression "(DAT_00089010 & 5)" ( (binary_expression "DAT_00089010 & 5" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))" ( (parenthesized_expression "(((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0))" ( (binary_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)" (parenthesized_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0))" ( (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)" (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089010 >> 0x10 & 0x5f)" ( (binary_expression "DAT_00089010 >> 0x10 & 0x5f" (binary_expression "DAT_00089010 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_00089014 & 0x40) == 0)" ( (binary_expression "(DAT_00089014 & 0x40) == 0" (parenthesized_expression "(DAT_00089014 & 0x40)" ( (binary_expression "DAT_00089014 & 0x40" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((local_44 & 4) != 0)" ( (binary_expression "(local_44 & 4) != 0" (parenthesized_expression "(local_44 & 4)" ( (binary_expression "local_44 & 4" identifier & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))" ( (parenthesized_expression "(((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))))))" ( (binary_expression "((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))" (parenthesized_expression "((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0))))" ( (binary_expression "(DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))" (binary_expression "(DAT_00089018 & 5) != 0" (parenthesized_expression "(DAT_00089018 & 5)" ( (binary_expression "DAT_00089018 & 5" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))" ( (parenthesized_expression "(((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0))" ( (binary_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)" (parenthesized_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0))" ( (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)" (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089018 >> 0x10 & 0x5f)" ( (binary_expression "DAT_00089018 >> 0x10 & 0x5f" (binary_expression "DAT_00089018 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_0008901c & 0x40) == 0)" ( (binary_expression "(DAT_0008901c & 0x40) == 0" (parenthesized_expression "(DAT_0008901c & 0x40)" ( (binary_expression "DAT_0008901c & 0x40" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((local_3c & 4) != 0)" ( (binary_expression "(local_3c & 4) != 0" (parenthesized_expression "(local_3c & 4)" ( (binary_expression "local_3c & 4" identifier & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))" ( (parenthesized_expression "(((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))))" ( (binary_expression "((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))" (parenthesized_expression "((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0))" ( (binary_expression "(char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)" (binary_expression "(char)(bVar30 ^ bVar29) < '\0'" (cast_expression "(char)(bVar30 ^ bVar29)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bVar30 ^ bVar29)" ( (binary_expression "bVar30 ^ bVar29" identifier ^ identifier) ))) < (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)" ( (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0" (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0" (parenthesized_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a)" ( (binary_expression "(local_c8 ^ (byte)DAT_0008901c) & 0x3a" (parenthesized_expression "(local_c8 ^ (byte)DAT_0008901c)" ( (binary_expression "local_c8 ^ (byte)DAT_0008901c" identifier ^ (cast_expression "(byte)DAT_0008901c" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) != number_literal) || (binary_expression "((bVar30 ^ bVar29) & 0x60) != 0" (parenthesized_expression "((bVar30 ^ bVar29) & 0x60)" ( (binary_expression "(bVar30 ^ bVar29) & 0x60" (parenthesized_expression "(bVar30 ^ bVar29)" ( (binary_expression "bVar30 ^ bVar29" identifier ^ identifier) )) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))" ( (parenthesized_expression "(((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))" ( (binary_expression "((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))" (parenthesized_expression "((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0))))" ( (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))" (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0" (parenthesized_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1)" ( (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1" (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5" (binary_expression "bStack_39 >> 5 & 1" (binary_expression "bStack_39 >> 5" identifier >> number_literal) & number_literal) & (binary_expression "local_44._3_1_ >> 5" (field_expression "local_44._3_1_" identifier . field_identifier) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))" ( (parenthesized_expression "(((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0))" ( (binary_expression "((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)" (parenthesized_expression "((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0'))" ( (binary_expression "(bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')" (binary_expression "(bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0" (parenthesized_expression "(bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1)" ( (binary_expression "bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1" (binary_expression "bStack_39 >> 6 & 1 & local_44._3_1_ >> 6" (binary_expression "bStack_39 >> 6 & 1" (binary_expression "bStack_39 >> 6" identifier >> number_literal) & number_literal) & (binary_expression "local_44._3_1_ >> 6" (field_expression "local_44._3_1_" identifier . field_identifier) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((char)(bStack_39 & local_44._3_1_) < '\0')" ( (binary_expression "(char)(bStack_39 & local_44._3_1_) < '\0'" (cast_expression "(char)(bStack_39 & local_44._3_1_)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bStack_39 & local_44._3_1_)" ( (binary_expression "bStack_39 & local_44._3_1_" identifier & (field_expression "local_44._3_1_" identifier . field_identifier)) ))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)" ( (binary_expression "((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1)" ( (binary_expression "(byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1" (binary_expression "(byte)local_40 >> 1 & 1 & (byte)local_38 >> 1" (binary_expression "(byte)local_40 >> 1 & 1" (binary_expression "(byte)local_40 >> 1" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_38 >> 1" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))" ( (parenthesized_expression "((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))" ( (binary_expression "(((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)" (parenthesized_expression "(((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0))" ( (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1)" ( (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1" (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3" (binary_expression "(byte)local_38 >> 3 & 1" (binary_expression "(byte)local_38 >> 3" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_40 >> 3" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "(((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" ( (binary_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1)" ( (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1" (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4" (binary_expression "(byte)local_40 >> 4 & 1" (binary_expression "(byte)local_40 >> 4" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_38 >> 4" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)" ( (binary_expression "((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1)" ( (binary_expression "(byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1" (binary_expression "(byte)local_38 >> 5 & 1 & (byte)local_40 >> 5" (binary_expression "(byte)local_38 >> 5 & 1" (binary_expression "(byte)local_38 >> 5" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_40 >> 5" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }" { (expression_statement "DAT_000890f8 = 2;" (assignment_expression "DAT_000890f8 = 2" identifier = number_literal) ;) (goto_statement "goto code_r0x0004c7ec;" goto statement_identifier ;) })) })) (if_statement "if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }" if (parenthesized_expression "(local_d4 == 4)" ( (binary_expression "local_d4 == 4" identifier == number_literal) )) (compound_statement "{\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }" { (labeled_statement "code_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;" statement_identifier : (expression_statement "uStack_98 = uRam0008902c & uStack_28;" (assignment_expression "uStack_98 = uRam0008902c & uStack_28" identifier = (binary_expression "uRam0008902c & uStack_28" identifier & identifier)) ;)) (expression_statement "uStack_a4 = uRam00089028 & uStack_2c;" (assignment_expression "uStack_a4 = uRam00089028 & uStack_2c" identifier = (binary_expression "uRam00089028 & uStack_2c" identifier & identifier)) ;) (labeled_statement "code_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;" statement_identifier : (expression_statement "uStack_9c = _DAT_00089024 & uStack_30;" (assignment_expression "uStack_9c = _DAT_00089024 & uStack_30" identifier = (binary_expression "_DAT_00089024 & uStack_30" identifier & identifier)) ;)) (expression_statement "uStack_a0 = uStack_34 & _DAT_00089020;" (assignment_expression "uStack_a0 = uStack_34 & _DAT_00089020" identifier = (binary_expression "uStack_34 & _DAT_00089020" identifier & identifier)) ;) }) (else_clause "else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }" else (compound_statement "{\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }" { (if_statement "if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }" if (parenthesized_expression "(local_d4 == 5)" ( (binary_expression "local_d4 == 5" identifier == number_literal) )) (compound_statement "{\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }" { (expression_statement "uStack_94 = DAT_00089034 & uStack_20;" (assignment_expression "uStack_94 = DAT_00089034 & uStack_20" identifier = (binary_expression "DAT_00089034 & uStack_20" identifier & identifier)) ;) (expression_statement "uStack_90 = _DAT_00089030 & uStack_24;" (assignment_expression "uStack_90 = _DAT_00089030 & uStack_24" identifier = (binary_expression "_DAT_00089030 & uStack_24" identifier & identifier)) ;) (goto_statement "goto code_r0x0004d03b;" goto statement_identifier ;) })) (if_statement "if (local_d4 == 3) goto code_r0x0004d05d;" if (parenthesized_expression "(local_d4 == 3)" ( (binary_expression "local_d4 == 3" identifier == number_literal) )) (goto_statement "goto code_r0x0004d05d;" goto statement_identifier ;)) }))) (if_statement "if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" if (parenthesized_expression "(local_d4 == 4)" ( (binary_expression "local_d4 == 4" identifier == number_literal) )) (compound_statement "{\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }" { (labeled_statement "code_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }" statement_identifier : (if_statement "if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }" if (parenthesized_expression "(((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0))" ( (binary_expression "((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)" (parenthesized_expression "((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0)" ( (binary_expression "(uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0" (binary_expression "(uStack_a4 & 0xffffff) != 0" (parenthesized_expression "(uStack_a4 & 0xffffff)" ( (binary_expression "uStack_a4 & 0xffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_a4 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(uStack_a4 >> 0x18 & 0x1d)" ( (binary_expression "uStack_a4 >> 0x18 & 0x1d" (binary_expression "uStack_a4 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal)) )) || (parenthesized_expression "((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)" ( (binary_expression "(uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0" (binary_expression "(uStack_98 & 0x80) != 0" (parenthesized_expression "(uStack_98 & 0x80)" ( (binary_expression "uStack_98 & 0x80" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_98 & 0xffffff00) != 0" (parenthesized_expression "(uStack_98 & 0xffffff00)" ( (binary_expression "uStack_98 & 0xffffff00" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }" { (expression_statement "uVar20 = uRam00089028 >> 0x18;" (assignment_expression "uVar20 = uRam00089028 >> 0x18" identifier = (binary_expression "uRam00089028 >> 0x18" identifier >> number_literal)) ;) (expression_statement "local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);" (assignment_expression "local_d4._0_1_ = (byte)(uStack_a4 >> 0x18)" (field_expression "local_d4._0_1_" identifier . field_identifier) = (call_expression "(byte)(uStack_a4 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_a4 >> 0x18)" ( (binary_expression "uStack_a4 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }" if (parenthesized_expression "((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0)" ( (binary_expression "(((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0" (binary_expression "(((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40)" ( (binary_expression "((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40" (parenthesized_expression "((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10))" ( (binary_expression "(byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)" (call_expression "(byte)(uStack_a4 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_a4 >> 0x10)" ( (binary_expression "uStack_a4 >> 0x10" identifier >> number_literal) ))) ^ (call_expression "(byte)(uRam00089028 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uRam00089028 >> 0x10)" ( (binary_expression "uRam00089028 >> 0x10" identifier >> number_literal) )))) )) & number_literal) )) == number_literal) && (binary_expression "(((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0" (parenthesized_expression "(((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2)" ( (binary_expression "((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2" (parenthesized_expression "((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4)" ( (binary_expression "(byte)(uRam00089028 >> 0x18) ^ (byte)local_d4" (call_expression "(byte)(uRam00089028 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uRam00089028 >> 0x18)" ( (binary_expression "uRam00089028 >> 0x18" identifier >> number_literal) ))) ^ (cast_expression "(byte)local_d4" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) == number_literal)) )) (compound_statement "{\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }" { (if_statement "if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;" if (parenthesized_expression "((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0))))" ( (binary_expression "(((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))" (parenthesized_expression "(((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0))" ( (binary_expression "((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)" (parenthesized_expression "((local_d0 & 10) == 10)" ( (binary_expression "(local_d0 & 10) == 10" (parenthesized_expression "(local_d0 & 10)" ( (binary_expression "local_d0 & 10" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)" ( (comma_expression "iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20)" identifier = (call_expression "FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20)" identifier (argument_list "(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) , (comma_expression "uVar20 = extraout_ECX, iVar19 == 0" (assignment_expression "uVar20 = extraout_ECX" identifier = identifier) , (binary_expression "iVar19 == 0" identifier == number_literal))) ))) )) || (parenthesized_expression "(((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))" ( (parenthesized_expression "((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0))" ( (binary_expression "(local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)" (binary_expression "(local_d0 & 0xc) == 0xc" (parenthesized_expression "(local_d0 & 0xc)" ( (binary_expression "local_d0 & 0xc" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)" ( (comma_expression "iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20)" identifier = (call_expression "FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20)" identifier (argument_list "(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (goto_statement "goto code_r0x0004d445;" goto statement_identifier ;) })) }))) }) (else_clause "else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" else (if_statement "if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" if (parenthesized_expression "(local_d4 == 5)" ( (binary_expression "local_d4 == 5" identifier == number_literal) )) (compound_statement "{\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }" { (if_statement "if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }" if (parenthesized_expression "(((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0))" ( (binary_expression "((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)" (parenthesized_expression "((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0)" ( (binary_expression "(uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0" (binary_expression "(uStack_90 & 0xffffff) != 0" (parenthesized_expression "(uStack_90 & 0xffffff)" ( (binary_expression "uStack_90 & 0xffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_90 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(uStack_90 >> 0x18 & 0x1d)" ( (binary_expression "uStack_90 >> 0x18 & 0x1d" (binary_expression "uStack_90 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal)) )) || (parenthesized_expression "((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)" ( (binary_expression "(uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0" (binary_expression "(uStack_94 & 0x80) != 0" (parenthesized_expression "(uStack_94 & 0x80)" ( (binary_expression "uStack_94 & 0x80" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_94 & 0xffffff00) != 0" (parenthesized_expression "(uStack_94 & 0xffffff00)" ( (binary_expression "uStack_94 & 0xffffff00" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }" { (expression_statement "local_d4._0_1_ = (byte)(uStack_90 >> 0x18);" (assignment_expression "local_d4._0_1_ = (byte)(uStack_90 >> 0x18)" (field_expression "local_d4._0_1_" identifier . field_identifier) = (call_expression "(byte)(uStack_90 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_90 >> 0x18)" ( (binary_expression "uStack_90 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }" if (parenthesized_expression "((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0)" ( (binary_expression "(((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0" (binary_expression "(((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40)" ( (binary_expression "((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40" (parenthesized_expression "((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10))" ( (binary_expression "(byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)" (call_expression "(byte)(uStack_90 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_90 >> 0x10)" ( (binary_expression "uStack_90 >> 0x10" identifier >> number_literal) ))) ^ (call_expression "(byte)(_DAT_00089030 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(_DAT_00089030 >> 0x10)" ( (binary_expression "_DAT_00089030 >> 0x10" identifier >> number_literal) )))) )) & number_literal) )) == number_literal) && (binary_expression "(((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0" (parenthesized_expression "(((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2)" ( (binary_expression "((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2" (parenthesized_expression "((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4)" ( (binary_expression "(byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4" (call_expression "(byte)(_DAT_00089030 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(_DAT_00089030 >> 0x18)" ( (binary_expression "_DAT_00089030 >> 0x18" identifier >> number_literal) ))) ^ (cast_expression "(byte)local_d4" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) == number_literal)) )) (compound_statement "{\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }" { (expression_statement "iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);" (assignment_expression "iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18)" identifier = (call_expression "FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18)" identifier (argument_list "(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18)" ( identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "_DAT_00089030 >> 0x18" identifier >> number_literal) , (binary_expression "_DAT_00089030 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if (iVar19 == 0) goto LAB_0004ba48;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (goto_statement "goto code_r0x0004d3b2;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" else (compound_statement "{\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" { (if_statement "if (local_d4 != 3) goto LAB_0004c685;" if (parenthesized_expression "(local_d4 != 3)" ( (binary_expression "local_d4 != 3" identifier != number_literal) )) (goto_statement "goto LAB_0004c685;" goto statement_identifier ;)) (labeled_statement "code_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }" statement_identifier : (if_statement "if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }" if (parenthesized_expression "(((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0))" ( (binary_expression "((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)" (parenthesized_expression "((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0)" ( (binary_expression "(uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0" (binary_expression "(uStack_a0 & 0xffffff) != 0" (parenthesized_expression "(uStack_a0 & 0xffffff)" ( (binary_expression "uStack_a0 & 0xffffff" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_a0 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(uStack_a0 >> 0x18 & 0x1d)" ( (binary_expression "uStack_a0 >> 0x18 & 0x1d" (binary_expression "uStack_a0 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal)) )) || (parenthesized_expression "((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)" ( (binary_expression "(uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0" (binary_expression "(uStack_9c & 0x80) != 0" (parenthesized_expression "(uStack_9c & 0x80)" ( (binary_expression "uStack_9c & 0x80" identifier & number_literal) )) != number_literal) || (binary_expression "(uStack_9c & 0xffffff00) != 0" (parenthesized_expression "(uStack_9c & 0xffffff00)" ( (binary_expression "uStack_9c & 0xffffff00" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }" { (expression_statement "uVar20 = _DAT_00089020 >> 0x18;" (assignment_expression "uVar20 = _DAT_00089020 >> 0x18" identifier = (binary_expression "_DAT_00089020 >> 0x18" identifier >> number_literal)) ;) (expression_statement "local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);" (assignment_expression "local_d4._0_1_ = (byte)(uStack_a0 >> 0x18)" (field_expression "local_d4._0_1_" identifier . field_identifier) = (call_expression "(byte)(uStack_a0 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_a0 >> 0x18)" ( (binary_expression "uStack_a0 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }" if (parenthesized_expression "((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0)" ( (binary_expression "(((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0" (binary_expression "(((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40)" ( (binary_expression "((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40" (parenthesized_expression "((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10))" ( (binary_expression "(byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)" (call_expression "(byte)(uStack_a0 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uStack_a0 >> 0x10)" ( (binary_expression "uStack_a0 >> 0x10" identifier >> number_literal) ))) ^ (call_expression "(byte)(_DAT_00089020 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(_DAT_00089020 >> 0x10)" ( (binary_expression "_DAT_00089020 >> 0x10" identifier >> number_literal) )))) )) & number_literal) )) == number_literal) && (binary_expression "(((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0" (parenthesized_expression "(((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2)" ( (binary_expression "((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2" (parenthesized_expression "((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4)" ( (binary_expression "(byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4" (call_expression "(byte)(_DAT_00089020 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(_DAT_00089020 >> 0x18)" ( (binary_expression "_DAT_00089020 >> 0x18" identifier >> number_literal) ))) ^ (cast_expression "(byte)local_d4" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) == number_literal)) )) (compound_statement "{\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }" { (if_statement "if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;" if (parenthesized_expression "((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))" ( (binary_expression "(((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)))" (parenthesized_expression "(((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              ))" ( (binary_expression "((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )" (parenthesized_expression "((local_d0 & 5) == 5)" ( (binary_expression "(local_d0 & 5) == 5" (parenthesized_expression "(local_d0 & 5)" ( (binary_expression "local_d0 & 5" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )" ( (comma_expression "iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20)" identifier = (call_expression "FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20)" identifier (argument_list "(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) , (comma_expression "uVar20 = extraout_ECX_00, iVar19 == 0" (assignment_expression "uVar20 = extraout_ECX_00" identifier = identifier) , (binary_expression "iVar19 == 0" identifier == number_literal))) ))) )) || (parenthesized_expression "(((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)))" ( (parenthesized_expression "((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))" ( (binary_expression "(local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)" (binary_expression "(local_d0 & 6) == 6" (parenthesized_expression "(local_d0 & 6)" ( (binary_expression "local_d0 & 6" identifier & number_literal) )) == number_literal) && (parenthesized_expression "(iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)" ( (comma_expression "iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20)" identifier = (call_expression "FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20)" identifier (argument_list "(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (goto_statement "goto LAB_0004c685;" goto statement_identifier ;) })) }))) }))))) (labeled_statement "code_r0x0004c880:\n    DAT_000890f8 = 1;" statement_identifier : (expression_statement "DAT_000890f8 = 1;" (assignment_expression "DAT_000890f8 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) }))) (expression_statement "DAT_000890f8 = 1;" (assignment_expression "DAT_000890f8 = 1" identifier = number_literal) ;) (labeled_statement "code_r0x0004c7ec:\n  bVar4 = *(byte *)(puVar32 + 9);" statement_identifier : (expression_statement "bVar4 = *(byte *)(puVar32 + 9);" (assignment_expression "bVar4 = *(byte *)(puVar32 + 9)" identifier = (pointer_expression "*(byte *)(puVar32 + 9)" * (cast_expression "(byte *)(puVar32 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 9)" ( (binary_expression "puVar32 + 9" identifier + number_literal) ))))) ;)) (if_statement "if ((bVar4 & 1) == 0) goto LAB_0004ba48;" if (parenthesized_expression "((bVar4 & 1) == 0)" ( (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;)) (labeled_statement "code_r0x0004c7fc:\n  uVar28 = DAT_00089010 & local_3c;" statement_identifier : (expression_statement "uVar28 = DAT_00089010 & local_3c;" (assignment_expression "uVar28 = DAT_00089010 & local_3c" identifier = (binary_expression "DAT_00089010 & local_3c" identifier & identifier)) ;)) (if_statement "if (((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))\n  goto code_r0x0004c880;" if (parenthesized_expression "(((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))" ( (binary_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0)" (parenthesized_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0)" ( (binary_expression "(uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0" (binary_expression "(uVar28 & 0xffffff) == 0" (parenthesized_expression "(uVar28 & 0xffffff)" ( (binary_expression "uVar28 & 0xffffff" identifier & number_literal) )) == number_literal) && (binary_expression "(uVar28 >> 0x18 & 0x1d) == 0" (parenthesized_expression "(uVar28 >> 0x18 & 0x1d)" ( (binary_expression "uVar28 >> 0x18 & 0x1d" (binary_expression "uVar28 >> 0x18" identifier >> number_literal) & number_literal) )) == number_literal)) )) && (parenthesized_expression "((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0)" ( (binary_expression "(DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0" (binary_expression "(DAT_00089014 & local_38 & 0xffffff00) == 0" (parenthesized_expression "(DAT_00089014 & local_38 & 0xffffff00)" ( (binary_expression "DAT_00089014 & local_38 & 0xffffff00" (binary_expression "DAT_00089014 & local_38" identifier & identifier) & number_literal) )) == number_literal) && (binary_expression "(DAT_00089014 & local_38 & 0x80) == 0" (parenthesized_expression "(DAT_00089014 & local_38 & 0x80)" ( (binary_expression "DAT_00089014 & local_38 & 0x80" (binary_expression "DAT_00089014 & local_38" identifier & identifier) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto code_r0x0004c880;" goto statement_identifier ;)) (expression_statement "local_c0 = (byte)(uVar28 >> 0x18);" (assignment_expression "local_c0 = (byte)(uVar28 >> 0x18)" identifier = (call_expression "(byte)(uVar28 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar28 >> 0x18)" ( (binary_expression "uVar28 >> 0x18" identifier >> number_literal) )))) ;) (if_statement "if ((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))\n  goto code_r0x0004c880;" if (parenthesized_expression "((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))" ( (binary_expression "(((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0)" (parenthesized_expression "(((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)))" ( (binary_expression "((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))" (parenthesized_expression "((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0)" ( (binary_expression "(((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0" (binary_expression "(((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0" (parenthesized_expression "(((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40)" ( (binary_expression "((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40" (parenthesized_expression "((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_)" ( (binary_expression "(byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_" (call_expression "(byte)(uVar28 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar28 >> 0x10)" ( (binary_expression "uVar28 >> 0x10" identifier >> number_literal) ))) ^ (field_expression "DAT_00089010._2_1_" identifier . field_identifier)) )) & number_literal) )) != number_literal) || (binary_expression "((bVar29 ^ local_c0) & 2) != 0" (parenthesized_expression "((bVar29 ^ local_c0) & 2)" ( (binary_expression "(bVar29 ^ local_c0) & 2" (parenthesized_expression "(bVar29 ^ local_c0)" ( (binary_expression "bVar29 ^ local_c0" identifier ^ identifier) )) & number_literal) )) != number_literal)) )) || (parenthesized_expression "(uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))" ( (comma_expression "uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)" (assignment_expression "uVar28 = local_44 & DAT_00089018" identifier = (binary_expression "local_44 & DAT_00089018" identifier & identifier)) , (binary_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)" (parenthesized_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0)" ( (binary_expression "(uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0" (binary_expression "(uVar28 & 0xffffff) == 0" (parenthesized_expression "(uVar28 & 0xffffff)" ( (binary_expression "uVar28 & 0xffffff" identifier & number_literal) )) == number_literal) && (binary_expression "(uVar28 >> 0x18 & 0x1d) == 0" (parenthesized_expression "(uVar28 >> 0x18 & 0x1d)" ( (binary_expression "uVar28 >> 0x18 & 0x1d" (binary_expression "uVar28 >> 0x18" identifier >> number_literal) & number_literal) )) == number_literal)) )) && (parenthesized_expression "((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)" ( (binary_expression "(local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0" (binary_expression "(local_40 & DAT_0008901c & 0xffffff00) == 0" (parenthesized_expression "(local_40 & DAT_0008901c & 0xffffff00)" ( (binary_expression "local_40 & DAT_0008901c & 0xffffff00" (binary_expression "local_40 & DAT_0008901c" identifier & identifier) & number_literal) )) == number_literal) && (binary_expression "(local_40 & DAT_0008901c & 0x80) == 0" (parenthesized_expression "(local_40 & DAT_0008901c & 0x80)" ( (binary_expression "local_40 & DAT_0008901c & 0x80" (binary_expression "local_40 & DAT_0008901c" identifier & identifier) & number_literal) )) == number_literal)) )))) ))) )) || (parenthesized_expression "(local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0)" ( (comma_expression "local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0" (assignment_expression "local_c0 = (byte)(uVar28 >> 0x18)" identifier = (call_expression "(byte)(uVar28 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar28 >> 0x18)" ( (binary_expression "uVar28 >> 0x18" identifier >> number_literal) )))) , (binary_expression "(((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0" (binary_expression "(((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0" (parenthesized_expression "(((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40)" ( (binary_expression "((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40" (parenthesized_expression "((byte)(uVar28 >> 0x10) ^ bVar18)" ( (binary_expression "(byte)(uVar28 >> 0x10) ^ bVar18" (call_expression "(byte)(uVar28 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar28 >> 0x10)" ( (binary_expression "uVar28 >> 0x10" identifier >> number_literal) ))) ^ identifier) )) & number_literal) )) != number_literal) || (binary_expression "((bVar30 ^ local_c0) & 2) != 0" (parenthesized_expression "((bVar30 ^ local_c0) & 2)" ( (binary_expression "(bVar30 ^ local_c0) & 2" (parenthesized_expression "(bVar30 ^ local_c0)" ( (binary_expression "bVar30 ^ local_c0" identifier ^ identifier) )) & number_literal) )) != number_literal))) ))) )) (goto_statement "goto code_r0x0004c880;" goto statement_identifier ;)) (if_statement "if (local_d0 != 0) {\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }" if (parenthesized_expression "(local_d0 != 0)" ( (binary_expression "local_d0 != 0" identifier != number_literal) )) (compound_statement "{\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }" { (if_statement "if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "(((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))))))))" ( (binary_expression "((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))" (parenthesized_expression "((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0))))))" ( (binary_expression "(((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))" (parenthesized_expression "(((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0))))" ( (binary_expression "((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))" (parenthesized_expression "((DAT_00089010 & 5) != 0)" ( (binary_expression "(DAT_00089010 & 5) != 0" (parenthesized_expression "(DAT_00089010 & 5)" ( (binary_expression "DAT_00089010 & 5" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))" ( (parenthesized_expression "(((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0))" ( (binary_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)" (parenthesized_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0))" ( (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)" (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089010 >> 0x10 & 0x5f)" ( (binary_expression "DAT_00089010 >> 0x10 & 0x5f" (binary_expression "DAT_00089010 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_00089014 & 0x40) == 0)" ( (binary_expression "(DAT_00089014 & 0x40) == 0" (parenthesized_expression "(DAT_00089014 & 0x40)" ( (binary_expression "DAT_00089014 & 0x40" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((local_3c & 4) != 0)" ( (binary_expression "(local_3c & 4) != 0" (parenthesized_expression "(local_3c & 4)" ( (binary_expression "local_3c & 4" identifier & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "(((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))" ( (parenthesized_expression "((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0))))" ( (binary_expression "(DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))" (binary_expression "(DAT_00089018 & 5) != 0" (parenthesized_expression "(DAT_00089018 & 5)" ( (binary_expression "DAT_00089018 & 5" identifier & number_literal) )) != number_literal) || (parenthesized_expression "((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))" ( (parenthesized_expression "(((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0))" ( (binary_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)" (parenthesized_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0))" ( (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)" (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089018 >> 0x10 & 0x5f)" ( (binary_expression "DAT_00089018 >> 0x10 & 0x5f" (binary_expression "DAT_00089018 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "((DAT_0008901c & 0x40) == 0)" ( (binary_expression "(DAT_0008901c & 0x40) == 0" (parenthesized_expression "(DAT_0008901c & 0x40)" ( (binary_expression "DAT_0008901c & 0x40" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((local_44 & 4) != 0)" ( (binary_expression "(local_44 & 4) != 0" (parenthesized_expression "(local_44 & 4)" ( (binary_expression "local_44 & 4" identifier & number_literal) )) != number_literal) ))) )) ))) )) ))) )) && (parenthesized_expression "((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))" ( (parenthesized_expression "(((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))))))" ( (binary_expression "((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))" (parenthesized_expression "((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0))" ( (binary_expression "(char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)" (binary_expression "(char)(bVar29 ^ bVar30) < '\0'" (cast_expression "(char)(bVar29 ^ bVar30)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bVar29 ^ bVar30)" ( (binary_expression "bVar29 ^ bVar30" identifier ^ identifier) ))) < (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)" ( (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0" (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0" (parenthesized_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a)" ( (binary_expression "(local_c8 ^ (byte)DAT_0008901c) & 0x3a" (parenthesized_expression "(local_c8 ^ (byte)DAT_0008901c)" ( (binary_expression "local_c8 ^ (byte)DAT_0008901c" identifier ^ (cast_expression "(byte)DAT_0008901c" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) != number_literal) || (binary_expression "((bVar29 ^ bVar30) & 0x60) != 0" (parenthesized_expression "((bVar29 ^ bVar30) & 0x60)" ( (binary_expression "(bVar29 ^ bVar30) & 0x60" (parenthesized_expression "(bVar29 ^ bVar30)" ( (binary_expression "bVar29 ^ bVar30" identifier ^ identifier) )) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "(((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))" ( (parenthesized_expression "((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))))" ( (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))" (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0" (parenthesized_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1)" ( (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1" (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5" (binary_expression "bStack_39 >> 5 & 1" (binary_expression "bStack_39 >> 5" identifier >> number_literal) & number_literal) & (binary_expression "local_44._3_1_ >> 5" (field_expression "local_44._3_1_" identifier . field_identifier) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))" ( (parenthesized_expression "(((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))" ( (binary_expression "((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)" (parenthesized_expression "((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0))))" ( (binary_expression "(((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))" (parenthesized_expression "(((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0))" ( (binary_expression "((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)" (parenthesized_expression "((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0'))" ( (binary_expression "(local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')" (binary_expression "(local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0" (parenthesized_expression "(local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1)" ( (binary_expression "local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1" (binary_expression "local_44._3_1_ >> 6 & 1 & bStack_39 >> 6" (binary_expression "local_44._3_1_ >> 6 & 1" (binary_expression "local_44._3_1_ >> 6" (field_expression "local_44._3_1_" identifier . field_identifier) >> number_literal) & number_literal) & (binary_expression "bStack_39 >> 6" identifier >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((char)(local_44._3_1_ & bStack_39) < '\0')" ( (binary_expression "(char)(local_44._3_1_ & bStack_39) < '\0'" (cast_expression "(char)(local_44._3_1_ & bStack_39)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(local_44._3_1_ & bStack_39)" ( (binary_expression "local_44._3_1_ & bStack_39" (field_expression "local_44._3_1_" identifier . field_identifier) & identifier) ))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)" ( (binary_expression "((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1)" ( (binary_expression "(byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1" (binary_expression "(byte)local_38 >> 1 & 1 & (byte)local_40 >> 1" (binary_expression "(byte)local_38 >> 1 & 1" (binary_expression "(byte)local_38 >> 1" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_40 >> 1" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))" ( (parenthesized_expression "(((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0))" ( (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1)" ( (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1" (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3" (binary_expression "(byte)local_38 >> 3 & 1" (binary_expression "(byte)local_38 >> 3" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_40 >> 3" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "(((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" ( (binary_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1)" ( (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1" (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4" (binary_expression "(byte)local_40 >> 4 & 1" (binary_expression "(byte)local_40 >> 4" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_38 >> 4" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)" ( (binary_expression "((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1)" ( (binary_expression "(byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1" (binary_expression "(byte)local_40 >> 5 & 1 & (byte)local_38 >> 5" (binary_expression "(byte)local_40 >> 5 & 1" (binary_expression "(byte)local_40 >> 5" (cast_expression "(byte)local_40" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal) & number_literal) & (binary_expression "(byte)local_38 >> 5" (cast_expression "(byte)local_38" ( (type_descriptor "byte" type_identifier) ) identifier) >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }" { (expression_statement "DAT_000890f8 = 2;" (assignment_expression "DAT_000890f8 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) })) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (if_statement "if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }" if (parenthesized_expression "((bVar4 & 1) != 0)" ( (binary_expression "(bVar4 & 1) != 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }" { (expression_statement "local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;" (assignment_expression "local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400" identifier = (binary_expression "(-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400" (parenthesized_expression "(-(uint)((local_40 & 4) == 0) & 0xfffffc02)" ( (binary_expression "-(uint)((local_40 & 4) == 0) & 0xfffffc02" (unary_expression "-(uint)((local_40 & 4) == 0)" - (call_expression "(uint)((local_40 & 4) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((local_40 & 4) == 0)" ( (binary_expression "(local_40 & 4) == 0" (parenthesized_expression "(local_40 & 4)" ( (binary_expression "local_40 & 4" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (expression_statement "uVar28 = local_dc | 8;" (assignment_expression "uVar28 = local_dc | 8" identifier = (binary_expression "local_dc | 8" identifier | number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar32 + 0x25) & 4) == 0) {\n    uVar28 = local_dc;\n  }" if (parenthesized_expression "((*(byte *)((int)puVar32 + 0x25) & 4) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x25) & 4) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x25) & 4)" ( (binary_expression "*(byte *)((int)puVar32 + 0x25) & 4" (pointer_expression "*(byte *)((int)puVar32 + 0x25)" * (cast_expression "(byte *)((int)puVar32 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar28 = local_dc;\n  }" { (expression_statement "uVar28 = local_dc;" (assignment_expression "uVar28 = local_dc" identifier = identifier) ;) })) (labeled_statement "LAB_0004c685:\n  local_dc = uVar28;" statement_identifier : (expression_statement "local_dc = uVar28;" (assignment_expression "local_dc = uVar28" identifier = identifier) ;)) (if_statement "if ((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))) {\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }" if (parenthesized_expression "((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0))))" ( (binary_expression "(((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))" (parenthesized_expression "(((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0))" ( (binary_expression "((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)" (parenthesized_expression "((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0))" ( (binary_expression "(((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)" (parenthesized_expression "(((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0))" ( (binary_expression "((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)" (parenthesized_expression "((puVar32[8] & DAT_00065384) != 0)" ( (binary_expression "(puVar32[8] & DAT_00065384) != 0" (parenthesized_expression "(puVar32[8] & DAT_00065384)" ( (binary_expression "puVar32[8] & DAT_00065384" (subscript_expression "puVar32[8]" identifier [ number_literal ]) & identifier) )) != number_literal) )) || (parenthesized_expression "((puVar32[7] & DAT_00065380) != 0)" ( (binary_expression "(puVar32[7] & DAT_00065380) != 0" (parenthesized_expression "(puVar32[7] & DAT_00065380)" ( (binary_expression "puVar32[7] & DAT_00065380" (subscript_expression "puVar32[7]" identifier [ number_literal ]) & identifier) )) != number_literal) ))) )) || (parenthesized_expression "((puVar32[6] & DAT_0006537c) != 0)" ( (binary_expression "(puVar32[6] & DAT_0006537c) != 0" (parenthesized_expression "(puVar32[6] & DAT_0006537c)" ( (binary_expression "puVar32[6] & DAT_0006537c" (subscript_expression "puVar32[6]" identifier [ number_literal ]) & identifier) )) != number_literal) ))) )) || (parenthesized_expression "((puVar32[5] & DAT_00065378) != 0)" ( (binary_expression "(puVar32[5] & DAT_00065378) != 0" (parenthesized_expression "(puVar32[5] & DAT_00065378)" ( (binary_expression "puVar32[5] & DAT_00065378" (subscript_expression "puVar32[5]" identifier [ number_literal ]) & identifier) )) != number_literal) ))) )) && (parenthesized_expression "((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))" ( (parenthesized_expression "(((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0))" ( (binary_expression "((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)" (binary_expression "((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0" (parenthesized_expression "((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8)" ( (binary_expression "(*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8" (parenthesized_expression "(*(byte *)(puVar32 + 6) | (byte)DAT_00080540)" ( (binary_expression "*(byte *)(puVar32 + 6) | (byte)DAT_00080540" (pointer_expression "*(byte *)(puVar32 + 6)" * (cast_expression "(byte *)(puVar32 + 6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 6)" ( (binary_expression "puVar32 + 6" identifier + number_literal) )))) | (cast_expression "(byte)DAT_00080540" ( (type_descriptor "byte" type_identifier) ) identifier)) )) & number_literal) )) == number_literal) && (parenthesized_expression "(puVar32[1] != 0)" ( (binary_expression "puVar32[1] != 0" (subscript_expression "puVar32[1]" identifier [ number_literal ]) != number_literal) ))) )) ))) )) (compound_statement "{\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);" do (compound_statement "{\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    }" { (if_statement "if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;" if (parenthesized_expression "(((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0))))" ( (binary_expression "((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))" (parenthesized_expression "((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0)" ( (binary_expression "(*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20)" ( (binary_expression "*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar19 * 2 + 0xd)" * (cast_expression "(byte *)(puVar32 + iVar19 * 2 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar19 * 2 + 0xd)" ( (binary_expression "puVar32 + iVar19 * 2 + 0xd" (binary_expression "puVar32 + iVar19 * 2" identifier + (binary_expression "iVar19 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))" ( (parenthesized_expression "((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0))" ( (binary_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)" (binary_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10)" ( (binary_expression "*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10" (pointer_expression "*(byte *)(&DAT_00089014 + iVar19 * 2)" * (cast_expression "(byte *)(&DAT_00089014 + iVar19 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00089014 + iVar19 * 2)" ( (binary_expression "&DAT_00089014 + iVar19 * 2" (pointer_expression "&DAT_00089014" & identifier) + (binary_expression "iVar19 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) || (parenthesized_expression "((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)" ( (binary_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0" (parenthesized_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 8)" ( (binary_expression "*(byte *)(&DAT_00089014 + iVar19 * 2) & 8" (pointer_expression "*(byte *)(&DAT_00089014 + iVar19 * 2)" * (cast_expression "(byte *)(&DAT_00089014 + iVar19 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00089014 + iVar19 * 2)" ( (binary_expression "&DAT_00089014 + iVar19 * 2" (pointer_expression "&DAT_00089014" & identifier) + (binary_expression "iVar19 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) ))) )) ))) )) (goto_statement "goto LAB_0004cc2a;" goto statement_identifier ;)) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar32[1] != iVar19)" ( (binary_expression "puVar32[1] != iVar19" (subscript_expression "puVar32[1]" identifier [ number_literal ]) != identifier) )) ;) })) (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30;" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30" identifier = (binary_expression "*(byte *)((int)puVar32 + 0x2a) & 0x30" (pointer_expression "*(byte *)((int)puVar32 + 0x2a)" * (cast_expression "(byte *)((int)puVar32 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2a)" ( (binary_expression "(int)puVar32 + 0x2a" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0) {\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }" if (parenthesized_expression "((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x2a) & 0x30)" ( (binary_expression "*(byte *)((int)puVar32 + 0x2a) & 0x30" (pointer_expression "*(byte *)((int)puVar32 + 0x2a)" * (cast_expression "(byte *)((int)puVar32 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2a)" ( (binary_expression "(int)puVar32 + 0x2a" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }" { (if_statement "if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0))" ( (binary_expression "(DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)" (parenthesized_expression "(DAT_00089078 != 0)" ( (binary_expression "DAT_00089078 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)" ( (binary_expression "(*(byte *)(DAT_00089078 + 8) & 0x38) != 0" (parenthesized_expression "(*(byte *)(DAT_00089078 + 8) & 0x38)" ( (binary_expression "*(byte *)(DAT_00089078 + 8) & 0x38" (pointer_expression "*(byte *)(DAT_00089078 + 8)" * (cast_expression "(byte *)(DAT_00089078 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 8)" ( (binary_expression "DAT_00089078 + 8" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }" { (expression_statement "DAT_000890f8 = 0xb;" (assignment_expression "DAT_000890f8 = 0xb" identifier = number_literal) ;) (expression_statement "local_e0 = 0xb;" (assignment_expression "local_e0 = 0xb" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;" if (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 8) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 0xb) & 8) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 8)" ( (binary_expression "*(byte *)(puVar32 + 0xb) & 8" (pointer_expression "*(byte *)(puVar32 + 0xb)" * (cast_expression "(byte *)(puVar32 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004c6f7;" goto statement_identifier ;)) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(puVar32 + 0xb) & 8) != 0) {\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }" if (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 8) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 0xb) & 8) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 8)" ( (binary_expression "*(byte *)(puVar32 + 0xb) & 8" (pointer_expression "*(byte *)(puVar32 + 0xb)" * (cast_expression "(byte *)(puVar32 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }" { (labeled_statement "LAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }" statement_identifier : (if_statement "if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0'))" ( (binary_expression "(DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')" (parenthesized_expression "(DAT_000890c4 == (int *)0x0)" ( (binary_expression "DAT_000890c4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(char *)(*DAT_000890c4 + 0xd) == '\0')" ( (binary_expression "*(char *)(*DAT_000890c4 + 0xd) == '\0'" (pointer_expression "*(char *)(*DAT_000890c4 + 0xd)" * (cast_expression "(char *)(*DAT_000890c4 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*DAT_000890c4 + 0xd)" ( (binary_expression "*DAT_000890c4 + 0xd" (pointer_expression "*DAT_000890c4" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }" { (expression_statement "DAT_000890f8 = 0x11;" (assignment_expression "DAT_000890f8 = 0x11" identifier = number_literal) ;) (expression_statement "local_e0 = 0x11;" (assignment_expression "local_e0 = 0x11" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) }))) (if_statement "if (bVar17 == 0) goto LAB_0004c71a;" if (parenthesized_expression "(bVar17 == 0)" ( (binary_expression "bVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;)) })) (if_statement "if (DAT_00089078 != 0) {\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }" if (parenthesized_expression "(DAT_00089078 != 0)" ( (binary_expression "DAT_00089078 != 0" identifier != number_literal) )) (compound_statement "{\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }" { (if_statement "if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" if (parenthesized_expression "(bVar17 == 0x10)" ( (binary_expression "bVar17 == 0x10" identifier == number_literal) )) (compound_statement "{\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }" { (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 8) & 8;" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 8) & 8" identifier = (binary_expression "*(byte *)(DAT_00089078 + 8) & 8" (pointer_expression "*(byte *)(DAT_00089078 + 8)" * (cast_expression "(byte *)(DAT_00089078 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 8)" ( (binary_expression "DAT_00089078 + 8" identifier + number_literal) )))) & number_literal)) ;) }) (else_clause "else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" else (if_statement "if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" if (parenthesized_expression "(bVar17 == 0x20)" ( (binary_expression "bVar17 == 0x20" identifier == number_literal) )) (compound_statement "{\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }" { (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10" identifier = (binary_expression "*(byte *)(DAT_00089078 + 8) & 0x10" (pointer_expression "*(byte *)(DAT_00089078 + 8)" * (cast_expression "(byte *)(DAT_00089078 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 8)" ( (binary_expression "DAT_00089078 + 8" identifier + number_literal) )))) & number_literal)) ;) }) (else_clause "else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" else (compound_statement "{\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" { (if_statement "if (bVar17 != 0x30) goto LAB_0004cef0;" if (parenthesized_expression "(bVar17 != 0x30)" ( (binary_expression "bVar17 != 0x30" identifier != number_literal) )) (goto_statement "goto LAB_0004cef0;" goto statement_identifier ;)) (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20" identifier = (binary_expression "*(byte *)(DAT_00089078 + 8) & 0x20" (pointer_expression "*(byte *)(DAT_00089078 + 8)" * (cast_expression "(byte *)(DAT_00089078 + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 8)" ( (binary_expression "DAT_00089078 + 8" identifier + number_literal) )))) & number_literal)) ;) }))))) (if_statement "if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }" if (parenthesized_expression "(bVar17 != 0)" ( (binary_expression "bVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }" { (if_statement "if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }" if (parenthesized_expression "(DAT_00089000 == 2)" ( (binary_expression "DAT_00089000 == 2" identifier == number_literal) )) (compound_statement "{\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }" { (if_statement "if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;" if (parenthesized_expression "(DAT_000890c4 != (int *)0x0)" ( (binary_expression "DAT_000890c4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;)) (if_statement "if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }" if (parenthesized_expression "((DAT_00089010 & 4) == 0)" ( (binary_expression "(DAT_00089010 & 4) == 0" (parenthesized_expression "(DAT_00089010 & 4)" ( (binary_expression "DAT_00089010 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }" { (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078)" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , identifier ))) ;) })) (if_statement "if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }" if (parenthesized_expression "((DAT_00089014 & 0x18) == 0)" ( (binary_expression "(DAT_00089014 & 0x18) == 0" (parenthesized_expression "(DAT_00089014 & 0x18)" ( (binary_expression "DAT_00089014 & 0x18" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }" { (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2)" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , number_literal ))) ;) })) (if_statement "if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }" if (parenthesized_expression "((_DAT_00089020 & 4) == 0)" ( (binary_expression "(_DAT_00089020 & 4) == 0" (parenthesized_expression "(_DAT_00089020 & 4)" ( (binary_expression "_DAT_00089020 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }" { (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2)" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , number_literal ))) ;) })) (if_statement "if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }" if (parenthesized_expression "((_DAT_00089024 & 0x18) == 0)" ( (binary_expression "(_DAT_00089024 & 0x18) == 0" (parenthesized_expression "(_DAT_00089024 & 0x18)" ( (binary_expression "_DAT_00089024 & 0x18" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }" { (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2)" identifier (argument_list "("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , number_literal ))) ;) })) (if_statement "if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }" if (parenthesized_expression "(DAT_00080550 != 0)" ( (binary_expression "DAT_00080550 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }" { (expression_statement "uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);" (assignment_expression "uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(DAT_00089038 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_00089038 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 0xd)" ( (binary_expression "DAT_00089038 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }" if (parenthesized_expression "((*(byte *)(DAT_00089038 + 0xc) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_00089038 + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 0xc) & 1)" ( (binary_expression "*(byte *)(DAT_00089038 + 0xc) & 1" (pointer_expression "*(byte *)(DAT_00089038 + 0xc)" * (cast_expression "(byte *)(DAT_00089038 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 0xc)" ( (binary_expression "DAT_00089038 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar28 = uVar28 + 8;\n          }" { (expression_statement "uVar28 = uVar28 + 8;" (assignment_expression "uVar28 = uVar28 + 8" identifier = (binary_expression "uVar28 + 8" identifier + number_literal)) ;) })) (if_statement "if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }" if (parenthesized_expression "((*(byte *)(DAT_00089038 + 0xc) & 4) != 0)" ( (binary_expression "(*(byte *)(DAT_00089038 + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 0xc) & 4)" ( (binary_expression "*(byte *)(DAT_00089038 + 0xc) & 4" (pointer_expression "*(byte *)(DAT_00089038 + 0xc)" * (cast_expression "(byte *)(DAT_00089038 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 0xc)" ( (binary_expression "DAT_00089038 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar28 = uVar28 + 0x10;\n          }" { (expression_statement "uVar28 = uVar28 + 0x10;" (assignment_expression "uVar28 = uVar28 + 0x10" identifier = (binary_expression "uVar28 + 0x10" identifier + number_literal)) ;) })) (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 0xc);" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 0xc)" identifier = (pointer_expression "*(byte *)(DAT_00089078 + 0xc)" * (cast_expression "(byte *)(DAT_00089078 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 0xc)" ( (binary_expression "DAT_00089078 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = (uint)bVar17;" (assignment_expression "uVar20 = (uint)bVar17" identifier = (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);" (assignment_expression "local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(DAT_00089078 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_00089078 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 0xd)" ( (binary_expression "DAT_00089078 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }" if (parenthesized_expression "((bVar17 & 1) != 0)" ( (binary_expression "(bVar17 & 1) != 0" (parenthesized_expression "(bVar17 & 1)" ( (binary_expression "bVar17 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_d4 = local_d4 + 8;\n          }" { (expression_statement "local_d4 = local_d4 + 8;" (assignment_expression "local_d4 = local_d4 + 8" identifier = (binary_expression "local_d4 + 8" identifier + number_literal)) ;) })) (if_statement "if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }" if (parenthesized_expression "((bVar17 & 4) != 0)" ( (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" ( (binary_expression "bVar17 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_d4 = local_d4 + 0x10;\n          }" { (expression_statement "local_d4 = local_d4 + 0x10;" (assignment_expression "local_d4 = local_d4 + 0x10" identifier = (binary_expression "local_d4 + 0x10" identifier + number_literal)) ;) })) (if_statement "if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }" if (parenthesized_expression "(local_d4 != uVar28)" ( (binary_expression "local_d4 != uVar28" identifier != identifier) )) (compound_statement "{\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }" { (expression_statement "uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);" (assignment_expression "uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(DAT_00089040 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_00089040 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089040 + 0xd)" ( (binary_expression "DAT_00089040 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }" if (parenthesized_expression "((*(byte *)(DAT_00089040 + 0xc) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_00089040 + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_00089040 + 0xc) & 1)" ( (binary_expression "*(byte *)(DAT_00089040 + 0xc) & 1" (pointer_expression "*(byte *)(DAT_00089040 + 0xc)" * (cast_expression "(byte *)(DAT_00089040 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089040 + 0xc)" ( (binary_expression "DAT_00089040 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar20 = uVar20 + 8;\n            }" { (expression_statement "uVar20 = uVar20 + 8;" (assignment_expression "uVar20 = uVar20 + 8" identifier = (binary_expression "uVar20 + 8" identifier + number_literal)) ;) })) (if_statement "if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }" if (parenthesized_expression "((*(byte *)(DAT_00089040 + 0xc) & 4) != 0)" ( (binary_expression "(*(byte *)(DAT_00089040 + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_00089040 + 0xc) & 4)" ( (binary_expression "*(byte *)(DAT_00089040 + 0xc) & 4" (pointer_expression "*(byte *)(DAT_00089040 + 0xc)" * (cast_expression "(byte *)(DAT_00089040 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089040 + 0xc)" ( (binary_expression "DAT_00089040 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar20 = uVar20 + 0x10;\n            }" { (expression_statement "uVar20 = uVar20 + 0x10;" (assignment_expression "uVar20 = uVar20 + 0x10" identifier = (binary_expression "uVar20 + 0x10" identifier + number_literal)) ;) })) (if_statement "if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;" if (parenthesized_expression "((local_d4 != uVar20) && (uVar28 != uVar20))" ( (binary_expression "(local_d4 != uVar20) && (uVar28 != uVar20)" (parenthesized_expression "(local_d4 != uVar20)" ( (binary_expression "local_d4 != uVar20" identifier != identifier) )) && (parenthesized_expression "(uVar28 != uVar20)" ( (binary_expression "uVar28 != uVar20" identifier != identifier) ))) )) (goto_statement "goto LAB_0004d657;" goto statement_identifier ;)) })) (if_statement "if (DAT_00080550 == 2) goto LAB_0004ddd8;" if (parenthesized_expression "(DAT_00080550 == 2)" ( (binary_expression "DAT_00080550 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0004ddd8;" goto statement_identifier ;)) (expression_statement "pcVar26 = "mask, index, and destination registers should be distinct";" (assignment_expression "pcVar26 = "mask, index, and destination registers should be distinct"" identifier = (string_literal ""mask, index, and destination registers should be distinct"" " string_content ")) ;) (goto_statement "goto LAB_0004cd9e;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }" else (compound_statement "{\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }" { (if_statement "if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }" if (parenthesized_expression "(DAT_000890c4 == (int *)0x0)" ( (binary_expression "DAT_000890c4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }" { (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0)" identifier (argument_list "("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , number_literal ))) ;) })) (if_statement "if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }" if (parenthesized_expression "(((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0))" ( (binary_expression "((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)" (parenthesized_expression "((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0))" ( (binary_expression "(DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)" (parenthesized_expression "(DAT_00089000 == 1)" ( (binary_expression "DAT_00089000 == 1" identifier == number_literal) )) && (parenthesized_expression "((DAT_00089018 & 4) != 0)" ( (binary_expression "(DAT_00089018 & 4) != 0" (parenthesized_expression "(DAT_00089018 & 4)" ( (binary_expression "DAT_00089018 & 4" identifier & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((DAT_0008901c & 0x38) != 0)" ( (binary_expression "(DAT_0008901c & 0x38) != 0" (parenthesized_expression "(DAT_0008901c & 0x38)" ( (binary_expression "DAT_0008901c & 0x38" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }" { (expression_statement "uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);" (assignment_expression "uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd)" identifier = (binary_expression "(uint)*(byte *)(DAT_0008903c + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_0008903c + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0008903c + 0xd)" ( (binary_expression "DAT_0008903c + 0xd" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }" if (parenthesized_expression "((*(byte *)(DAT_0008903c + 0xc) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_0008903c + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 0xc) & 1)" ( (binary_expression "*(byte *)(DAT_0008903c + 0xc) & 1" (pointer_expression "*(byte *)(DAT_0008903c + 0xc)" * (cast_expression "(byte *)(DAT_0008903c + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0008903c + 0xc)" ( (binary_expression "DAT_0008903c + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar28 = uVar28 + 8;\n          }" { (expression_statement "uVar28 = uVar28 + 8;" (assignment_expression "uVar28 = uVar28 + 8" identifier = (binary_expression "uVar28 + 8" identifier + number_literal)) ;) })) (if_statement "if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }" if (parenthesized_expression "((*(byte *)(DAT_0008903c + 0xc) & 4) != 0)" ( (binary_expression "(*(byte *)(DAT_0008903c + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 0xc) & 4)" ( (binary_expression "*(byte *)(DAT_0008903c + 0xc) & 4" (pointer_expression "*(byte *)(DAT_0008903c + 0xc)" * (cast_expression "(byte *)(DAT_0008903c + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0008903c + 0xc)" ( (binary_expression "DAT_0008903c + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar28 = uVar28 + 0x10;\n          }" { (expression_statement "uVar28 = uVar28 + 0x10;" (assignment_expression "uVar28 = uVar28 + 0x10" identifier = (binary_expression "uVar28 + 0x10" identifier + number_literal)) ;) })) (expression_statement "uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);" (assignment_expression "uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd)" identifier = (binary_expression "(uint)*(byte *)(DAT_00089078 + 0xd)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(DAT_00089078 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 0xd)" ( (binary_expression "DAT_00089078 + 0xd" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }" if (parenthesized_expression "((*(byte *)(DAT_00089078 + 0xc) & 1) != 0)" ( (binary_expression "(*(byte *)(DAT_00089078 + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_00089078 + 0xc) & 1)" ( (binary_expression "*(byte *)(DAT_00089078 + 0xc) & 1" (pointer_expression "*(byte *)(DAT_00089078 + 0xc)" * (cast_expression "(byte *)(DAT_00089078 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 0xc)" ( (binary_expression "DAT_00089078 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar20 = uVar20 + 8;\n          }" { (expression_statement "uVar20 = uVar20 + 8;" (assignment_expression "uVar20 = uVar20 + 8" identifier = (binary_expression "uVar20 + 8" identifier + number_literal)) ;) })) (if_statement "if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }" if (parenthesized_expression "((*(byte *)(DAT_00089078 + 0xc) & 4) != 0)" ( (binary_expression "(*(byte *)(DAT_00089078 + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_00089078 + 0xc) & 4)" ( (binary_expression "*(byte *)(DAT_00089078 + 0xc) & 4" (pointer_expression "*(byte *)(DAT_00089078 + 0xc)" * (cast_expression "(byte *)(DAT_00089078 + 0xc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089078 + 0xc)" ( (binary_expression "DAT_00089078 + 0xc" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar20 = uVar20 + 0x10;\n          }" { (expression_statement "uVar20 = uVar20 + 0x10;" (assignment_expression "uVar20 = uVar20 + 0x10" identifier = (binary_expression "uVar20 + 0x10" identifier + number_literal)) ;) })) (if_statement "if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }" if (parenthesized_expression "(uVar20 == uVar28)" ( (binary_expression "uVar20 == uVar28" identifier == identifier) )) (compound_statement "{\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }" { (if_statement "if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }" if (parenthesized_expression "(DAT_00080550 == 2)" ( (binary_expression "DAT_00080550 == 2" identifier == number_literal) )) (compound_statement "{\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }" { (labeled_statement "LAB_0004ddd8:\n              DAT_000890f8 = 10;" statement_identifier : (expression_statement "DAT_000890f8 = 10;" (assignment_expression "DAT_000890f8 = 10" identifier = number_literal) ;)) (expression_statement "local_e0 = 10;" (assignment_expression "local_e0 = 10" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (DAT_00080550 == 0) goto LAB_0004c71a;" if (parenthesized_expression "(DAT_00080550 == 0)" ( (binary_expression "DAT_00080550 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004c71a;" goto statement_identifier ;)) (expression_statement "pcVar26 = "index and destination registers should be distinct";" (assignment_expression "pcVar26 = "index and destination registers should be distinct"" identifier = (string_literal ""index and destination registers should be distinct"" " string_content ")) ;) (expression_statement "uVar20 = DAT_00080550;" (assignment_expression "uVar20 = DAT_00080550" identifier = identifier) ;) (labeled_statement "LAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);" statement_identifier : (expression_statement "uVar27 = dcgettext(0,pcVar26,5,uVar20);" (assignment_expression "uVar27 = dcgettext(0,pcVar26,5,uVar20)" identifier = (call_expression "dcgettext(0,pcVar26,5,uVar20)" identifier (argument_list "(0,pcVar26,5,uVar20)" ( number_literal , identifier , number_literal , identifier )))) ;)) (expression_statement "FUN_0002bc80(uVar27);" (call_expression "FUN_0002bc80(uVar27)" identifier (argument_list "(uVar27)" ( identifier ))) ;) })) })) (labeled_statement "LAB_0004c71a:\n        iVar19 = DAT_00088ffc;" statement_identifier : (expression_statement "iVar19 = DAT_00088ffc;" (assignment_expression "iVar19 = DAT_00088ffc" identifier = identifier) ;)) (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2b);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2b)" identifier = (pointer_expression "*(byte *)((int)puVar32 + 0x2b)" * (cast_expression "(byte *)((int)puVar32 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2b)" ( (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }" if (parenthesized_expression "(DAT_000890cc != (int *)0x0)" ( (binary_expression "DAT_000890cc != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }" { (if_statement "if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }" if (parenthesized_expression "((bVar17 & 0x20) != 0)" ( (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }" { (expression_statement "local_d4 = DAT_000890cc[1];" (assignment_expression "local_d4 = DAT_000890cc[1]" identifier = (subscript_expression "DAT_000890cc[1]" identifier [ number_literal ])) ;) (expression_statement "bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);" (assignment_expression "bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" ( (binary_expression "(int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + (local_d4 + 0xe) * 8" (cast_expression "(int)&DAT_00088fa0" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00088fa0" & identifier)) + (binary_expression "(local_d4 + 0xe) * 8" (parenthesized_expression "(local_d4 + 0xe)" ( (binary_expression "local_d4 + 0xe" identifier + number_literal) )) * number_literal)) + number_literal) ))))) ;) (if_statement "if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }" if (parenthesized_expression "((bVar18 & 0x10) != 0)" ( (binary_expression "(bVar18 & 0x10) != 0" (parenthesized_expression "(bVar18 & 0x10)" ( (binary_expression "bVar18 & 0x10" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }" { (expression_statement "iVar23 = local_d4 + 6;" (assignment_expression "iVar23 = local_d4 + 6" identifier = (binary_expression "local_d4 + 6" identifier + number_literal)) ;) (expression_statement "cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);" (assignment_expression "cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3)" identifier = (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" if (parenthesized_expression "(((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0)" ( (binary_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0" (parenthesized_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40)" ( (binary_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40" (subscript_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "(local_d4 + 0xe) * 8" (parenthesized_expression "(local_d4 + 0xe)" ( (binary_expression "local_d4 + 0xe" identifier + number_literal) )) * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }" { (if_statement "if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }" if (parenthesized_expression "(cVar3 < '\0')" ( (binary_expression "cVar3 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }" { (expression_statement "iVar24 = 4;" (assignment_expression "iVar24 = 4" identifier = number_literal) ;) (if_statement "if ((char)bVar18 < '\0') goto LAB_0004c78c;" if (parenthesized_expression "((char)bVar18 < '\0')" ( (binary_expression "(char)bVar18 < '\0'" (cast_expression "(char)bVar18" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004c78c;" goto statement_identifier ;)) }) (else_clause "else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }" else (compound_statement "{\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }" { (expression_statement "iVar24 = 8;" (assignment_expression "iVar24 = 8" identifier = number_literal) ;) (if_statement "if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;" if (parenthesized_expression "(((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0)" ( (binary_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2)" ( (binary_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2" (subscript_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8]" (parenthesized_expression "(&DAT_00088fa4)" ( (pointer_expression "&DAT_00088fa4" & identifier) )) [ (binary_expression "(local_d4 + 0xe) * 8" (parenthesized_expression "(local_d4 + 0xe)" ( (binary_expression "local_d4 + 0xe" identifier + number_literal) )) * number_literal) ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004c78c;" goto statement_identifier ;)) }))) }) (else_clause "else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" else (compound_statement "{\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" { (expression_statement "iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;" (assignment_expression "iVar24 = (-(uint)(-1 < cVar3) & 4) + 4" identifier = (binary_expression "(-(uint)(-1 < cVar3) & 4) + 4" (parenthesized_expression "(-(uint)(-1 < cVar3) & 4)" ( (binary_expression "-(uint)(-1 < cVar3) & 4" (unary_expression "-(uint)(-1 < cVar3)" - (call_expression "(uint)(-1 < cVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(-1 < cVar3)" ( (binary_expression "-1 < cVar3" number_literal < identifier) )))) & number_literal) )) + number_literal)) ;) (labeled_statement "LAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;" statement_identifier : (expression_statement "iVar24 = iVar24 * *DAT_000890cc;" (assignment_expression "iVar24 = iVar24 * *DAT_000890cc" identifier = (binary_expression "iVar24 * *DAT_000890cc" identifier * (pointer_expression "*DAT_000890cc" * identifier))) ;)) (if_statement "if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" if (parenthesized_expression "(iVar24 == 0x10)" ( (binary_expression "iVar24 == 0x10" identifier == number_literal) )) (compound_statement "{\n                  uVar28 = 8;\n                }" { (expression_statement "uVar28 = 8;" (assignment_expression "uVar28 = 8" identifier = number_literal) ;) }) (else_clause "else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" else (if_statement "if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" if (parenthesized_expression "(iVar24 < 0x11)" ( (binary_expression "iVar24 < 0x11" identifier < number_literal) )) (compound_statement "{\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }" { (expression_statement "uVar28 = 2;" (assignment_expression "uVar28 = 2" identifier = number_literal) ;) (if_statement "if (iVar24 != 8) goto LAB_0004c7c9;" if (parenthesized_expression "(iVar24 != 8)" ( (binary_expression "iVar24 != 8" identifier != number_literal) )) (goto_statement "goto LAB_0004c7c9;" goto statement_identifier ;)) }) (else_clause "else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" else (if_statement "if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" if (parenthesized_expression "(iVar24 == 0x20)" ( (binary_expression "iVar24 == 0x20" identifier == number_literal) )) (compound_statement "{\n                  uVar28 = 0x10;\n                }" { (expression_statement "uVar28 = 0x10;" (assignment_expression "uVar28 = 0x10" identifier = number_literal) ;) }) (else_clause "else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" else (compound_statement "{\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" { (expression_statement "uVar28 = 0x20;" (assignment_expression "uVar28 = 0x20" identifier = number_literal) ;) (if_statement "if (iVar24 != 0x40) goto LAB_0004c7c9;" if (parenthesized_expression "(iVar24 != 0x40)" ( (binary_expression "iVar24 != 0x40" identifier != number_literal) )) (goto_statement "goto LAB_0004c7c9;" goto statement_identifier ;)) }))))))) (if_statement "if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }" if (parenthesized_expression "((puVar32[iVar23 * 2 + 1] & uVar28) != 0)" ( (binary_expression "(puVar32[iVar23 * 2 + 1] & uVar28) != 0" (parenthesized_expression "(puVar32[iVar23 * 2 + 1] & uVar28)" ( (binary_expression "puVar32[iVar23 * 2 + 1] & uVar28" (subscript_expression "puVar32[iVar23 * 2 + 1]" identifier [ (binary_expression "iVar23 * 2 + 1" (binary_expression "iVar23 * 2" identifier * number_literal) + number_literal) ]) & identifier) )) != number_literal) )) (compound_statement "{\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }" { (if_statement "if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }" if (parenthesized_expression "(((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0))" ( (binary_expression "((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)" (parenthesized_expression "((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40)" ( (binary_expression "*(byte *)((int)puVar32 + 0x25) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + 0x25)" * (cast_expression "(byte *)((int)puVar32 + 0x25)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(DAT_00088ffc != 0)" ( (binary_expression "DAT_00088ffc != 0" identifier != number_literal) ))) )) (compound_statement "{\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }" { (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);" do (compound_statement "{\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    }" { (if_statement "if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }" if (parenthesized_expression "(local_d4 != iVar24)" ( (binary_expression "local_d4 != iVar24" identifier != identifier) )) (compound_statement "{\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }" { (expression_statement "iVar1 = iVar24 * 8;" (assignment_expression "iVar1 = iVar24 * 8" identifier = (binary_expression "iVar24 * 8" identifier * number_literal)) ;) (expression_statement "uVar20 = (&DAT_00089010)[iVar24 * 2];" (assignment_expression "uVar20 = (&DAT_00089010)[iVar24 * 2]" identifier = (subscript_expression "(&DAT_00089010)[iVar24 * 2]" (parenthesized_expression "(&DAT_00089010)" ( (pointer_expression "&DAT_00089010" & identifier) )) [ (binary_expression "iVar24 * 2" identifier * number_literal) ])) ;) (expression_statement "bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);" (assignment_expression "bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd)" identifier = (pointer_expression "*(byte *)(puVar32 + iVar24 * 2 + 0xd)" * (cast_expression "(byte *)(puVar32 + iVar24 * 2 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar24 * 2 + 0xd)" ( (binary_expression "puVar32 + iVar24 * 2 + 0xd" (binary_expression "puVar32 + iVar24 * 2" identifier + (binary_expression "iVar24 * 2" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);" (assignment_expression "bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3)" identifier = (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" * (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" ( (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) ))))) ;) (expression_statement "bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);" (assignment_expression "bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1)" identifier = (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" * (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" ( (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" identifier + (binary_expression "iVar23 * 2" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;" if (parenthesized_expression "(((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0))))))" ( (binary_expression "((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))" (parenthesized_expression "((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0))))))" ( (binary_expression "(((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))" (parenthesized_expression "(((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0))))" ( (binary_expression "((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))" (parenthesized_expression "((uVar20 & 5) != 0)" ( (binary_expression "(uVar20 & 5) != 0" (parenthesized_expression "(uVar20 & 5)" ( (binary_expression "uVar20 & 5" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))" ( (parenthesized_expression "(((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0))" ( (binary_expression "((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)" (parenthesized_expression "((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0))" ( (binary_expression "(uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)" (binary_expression "(uVar20 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(uVar20 >> 0x10 & 0x5f)" ( (binary_expression "uVar20 >> 0x10 & 0x5f" (binary_expression "uVar20 >> 0x10" identifier >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "(((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)" ( (binary_expression "((&DAT_00089014)[iVar24 * 2] & 0x40) == 0" (parenthesized_expression "((&DAT_00089014)[iVar24 * 2] & 0x40)" ( (binary_expression "(&DAT_00089014)[iVar24 * 2] & 0x40" (subscript_expression "(&DAT_00089014)[iVar24 * 2]" (parenthesized_expression "(&DAT_00089014)" ( (pointer_expression "&DAT_00089014" & identifier) )) [ (binary_expression "iVar24 * 2" identifier * number_literal) ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((puVar32[iVar24 * 2 + 0xc] & 4) != 0)" ( (binary_expression "(puVar32[iVar24 * 2 + 0xc] & 4) != 0" (parenthesized_expression "(puVar32[iVar24 * 2 + 0xc] & 4)" ( (binary_expression "puVar32[iVar24 * 2 + 0xc] & 4" (subscript_expression "puVar32[iVar24 * 2 + 0xc]" identifier [ (binary_expression "iVar24 * 2 + 0xc" (binary_expression "iVar24 * 2" identifier * number_literal) + number_literal) ]) & number_literal) )) != number_literal) ))) )) ))) )) && (parenthesized_expression "(((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))" ( (parenthesized_expression "((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0))))" ( (binary_expression "(puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))" (binary_expression "(puVar32[iVar23 * 2] & 4) != 0" (parenthesized_expression "(puVar32[iVar23 * 2] & 4)" ( (binary_expression "puVar32[iVar23 * 2] & 4" (subscript_expression "puVar32[iVar23 * 2]" identifier [ (binary_expression "iVar23 * 2" identifier * number_literal) ]) & number_literal) )) != number_literal) && (parenthesized_expression "((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))" ( (parenthesized_expression "(((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0))" ( (binary_expression "((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)" (parenthesized_expression "((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0))" ( (binary_expression "(uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)" (binary_expression "(uVar20 >> 0x18 & 0x60) != 0" (parenthesized_expression "(uVar20 >> 0x18 & 0x60)" ( (binary_expression "uVar20 >> 0x18 & 0x60" (binary_expression "uVar20 >> 0x18" identifier >> number_literal) & number_literal) )) != number_literal) || (parenthesized_expression "((int)uVar20 < 0)" ( (binary_expression "(int)uVar20 < 0" (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) || (parenthesized_expression "((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)" ( (binary_expression "(((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0" (parenthesized_expression "(((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a)" ( (binary_expression "((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a" (parenthesized_expression "((&DAT_00089014)[iVar24 * 2] ^ uVar28)" ( (binary_expression "(&DAT_00089014)[iVar24 * 2] ^ uVar28" (subscript_expression "(&DAT_00089014)[iVar24 * 2]" (parenthesized_expression "(&DAT_00089014)" ( (pointer_expression "&DAT_00089014" & identifier) )) [ (binary_expression "iVar24 * 2" identifier * number_literal) ]) ^ identifier) )) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) && (parenthesized_expression "((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))" ( (parenthesized_expression "(((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0))))" ( (binary_expression "((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))" (parenthesized_expression "((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0))))" ( (binary_expression "(((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))" (parenthesized_expression "(((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0'))" ( (binary_expression "((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')" (parenthesized_expression "((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0))" ( (binary_expression "(bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)" (binary_expression "(bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0" (parenthesized_expression "(bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)" ( (binary_expression "bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1" (binary_expression "bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5" (binary_expression "bVar29 >> 5 & 1" (binary_expression "bVar29 >> 5" identifier >> number_literal) & number_literal) & (binary_expression "*(byte *)((int)puVar32 + iVar1 + 0x33) >> 5" (pointer_expression "*(byte *)((int)puVar32 + iVar1 + 0x33)" * (cast_expression "(byte *)((int)puVar32 + iVar1 + 0x33)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar1 + 0x33)" ( (binary_expression "(int)puVar32 + iVar1 + 0x33" (binary_expression "(int)puVar32 + iVar1" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)" ( (binary_expression "(bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0" (parenthesized_expression "(bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1)" ( (binary_expression "bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1" (binary_expression "bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6" (binary_expression "bVar29 >> 6 & 1" (binary_expression "bVar29 >> 6" identifier >> number_literal) & number_literal) & (binary_expression "*(byte *)((int)puVar32 + iVar1 + 0x33) >> 6" (pointer_expression "*(byte *)((int)puVar32 + iVar1 + 0x33)" * (cast_expression "(byte *)((int)puVar32 + iVar1 + 0x33)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar1 + 0x33)" ( (binary_expression "(int)puVar32 + iVar1 + 0x33" (binary_expression "(int)puVar32 + iVar1" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) >> number_literal)) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')" ( (binary_expression "(char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0'" (cast_expression "(char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33))" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33))" ( (binary_expression "bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)" identifier & (pointer_expression "*(byte *)((int)puVar32 + iVar1 + 0x33)" * (cast_expression "(byte *)((int)puVar32 + iVar1 + 0x33)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + iVar1 + 0x33)" ( (binary_expression "(int)puVar32 + iVar1 + 0x33" (binary_expression "(int)puVar32 + iVar1" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))" ( (parenthesized_expression "((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0))" ( (binary_expression "(bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)" (binary_expression "(bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0" (parenthesized_expression "(bVar30 >> 1 & 1 & bVar18 >> 1 & 1)" ( (binary_expression "bVar30 >> 1 & 1 & bVar18 >> 1 & 1" (binary_expression "bVar30 >> 1 & 1 & bVar18 >> 1" (binary_expression "bVar30 >> 1 & 1" (binary_expression "bVar30 >> 1" identifier >> number_literal) & number_literal) & (binary_expression "bVar18 >> 1" identifier >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)" ( (binary_expression "(bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0" (parenthesized_expression "(bVar30 >> 3 & 1 & bVar18 >> 3 & 1)" ( (binary_expression "bVar30 >> 3 & 1 & bVar18 >> 3 & 1" (binary_expression "bVar30 >> 3 & 1 & bVar18 >> 3" (binary_expression "bVar30 >> 3 & 1" (binary_expression "bVar30 >> 3" identifier >> number_literal) & number_literal) & (binary_expression "bVar18 >> 3" identifier >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) || (parenthesized_expression "(((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))" ( (parenthesized_expression "((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0))" ( (binary_expression "(bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)" (binary_expression "(bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0" (parenthesized_expression "(bVar30 >> 4 & 1 & bVar18 >> 4 & 1)" ( (binary_expression "bVar30 >> 4 & 1 & bVar18 >> 4 & 1" (binary_expression "bVar30 >> 4 & 1 & bVar18 >> 4" (binary_expression "bVar30 >> 4 & 1" (binary_expression "bVar30 >> 4" identifier >> number_literal) & number_literal) & (binary_expression "bVar18 >> 4" identifier >> number_literal)) & number_literal) )) != number_literal) || (parenthesized_expression "((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)" ( (binary_expression "(bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0" (parenthesized_expression "(bVar18 >> 5 & 1 & bVar30 >> 5 & 1)" ( (binary_expression "bVar18 >> 5 & 1 & bVar30 >> 5 & 1" (binary_expression "bVar18 >> 5 & 1 & bVar30 >> 5" (binary_expression "bVar18 >> 5 & 1" (binary_expression "bVar18 >> 5" identifier >> number_literal) & number_literal) & (binary_expression "bVar30 >> 5" identifier >> number_literal)) & number_literal) )) != number_literal) ))) )) ))) )) ))) )) (goto_statement "goto LAB_0004c7c9;" goto statement_identifier ;)) })) (expression_statement "iVar24 = iVar24 + 1;" (assignment_expression "iVar24 = iVar24 + 1" identifier = (binary_expression "iVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar24 != DAT_00088ffc)" ( (binary_expression "iVar24 != DAT_00088ffc" identifier != identifier) )) ;) })) (goto_statement "goto LAB_0004d08c;" goto statement_identifier ;) })) }))) })) })) (labeled_statement "LAB_0004c7c9:\n          DAT_000890f8 = 0xc;" statement_identifier : (expression_statement "DAT_000890f8 = 0xc;" (assignment_expression "DAT_000890f8 = 0xc" identifier = number_literal) ;)) (expression_statement "local_e0 = 0xc;" (assignment_expression "local_e0 = 0xc" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }" if (parenthesized_expression "(((bVar17 & 0x20) == 0) || (DAT_00089008 == 0))" ( (binary_expression "((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)" (parenthesized_expression "((bVar17 & 0x20) == 0)" ( (binary_expression "(bVar17 & 0x20) == 0" (parenthesized_expression "(bVar17 & 0x20)" ( (binary_expression "bVar17 & 0x20" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(DAT_00089008 == 0)" ( (binary_expression "DAT_00089008 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          local_d4 = 4;\n        }" { (expression_statement "local_d4 = 4;" (assignment_expression "local_d4 = 4" identifier = number_literal) ;) }) (else_clause "else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }" else (compound_statement "{\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }" { (if_statement "if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }" if (parenthesized_expression "(DAT_00088ffc == 0)" ( (binary_expression "DAT_00088ffc == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }" { (labeled_statement "LAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);" statement_identifier : (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc)" identifier (argument_list "("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""check_VecOperands"" " string_content ") , identifier ))) ;)) })) (if_statement "if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }" if (parenthesized_expression "((DAT_00089010 & 0x5f0000) == 0)" ( (binary_expression "(DAT_00089010 & 0x5f0000) == 0" (parenthesized_expression "(DAT_00089010 & 0x5f0000)" ( (binary_expression "DAT_00089010 & 0x5f0000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }" { (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (do_statement "do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);" do (compound_statement "{\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            }" { (expression_statement "local_d4 = local_d4 + 1;" (assignment_expression "local_d4 = local_d4 + 1" identifier = (binary_expression "local_d4 + 1" identifier + number_literal)) ;) (if_statement "if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;" if (parenthesized_expression "(local_d4 == DAT_00088ffc)" ( (binary_expression "local_d4 == DAT_00088ffc" identifier == identifier) )) (goto_statement "goto LAB_0004cfed;" goto statement_identifier ;)) }) while (parenthesized_expression "((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0)" ( (binary_expression "(*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0" (parenthesized_expression "(*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f)" ( (binary_expression "*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f" (pointer_expression "*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2)" * (cast_expression "(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00089010 + local_d4 * 8 + 2)" ( (binary_expression "(int)&DAT_00089010 + local_d4 * 8 + 2" (binary_expression "(int)&DAT_00089010 + local_d4 * 8" (cast_expression "(int)&DAT_00089010" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00089010" & identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) ;) }) (else_clause "else {\n            local_d4 = 0;\n          }" else (compound_statement "{\n            local_d4 = 0;\n          }" { (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) }))) (if_statement "if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }" if (parenthesized_expression "(*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0')" ( (binary_expression "*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0'" (pointer_expression "*(char *)((int)puVar32 + local_d4 * 8 + 0x33)" * (cast_expression "(char *)((int)puVar32 + local_d4 * 8 + 0x33)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 0x33)" ( (binary_expression "(int)puVar32 + local_d4 * 8 + 0x33" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }" { (expression_statement "bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;" (assignment_expression "bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7" identifier = (binary_expression "*(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7" (pointer_expression "*(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3)" * (cast_expression "(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00089010 + local_d4 * 8 + 3)" ( (binary_expression "(int)&DAT_00089010 + local_d4 * 8 + 3" (binary_expression "(int)&DAT_00089010 + local_d4 * 8" (cast_expression "(int)&DAT_00089010" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00089010" & identifier)) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) >> number_literal)) ;) }) (else_clause "else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }" else (compound_statement "{\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }" { (expression_statement "bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;" (assignment_expression "bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1" identifier = (binary_expression "*(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1" (binary_expression "*(byte *)(&DAT_00089014 + local_d4 * 2) >> 1" (pointer_expression "*(byte *)(&DAT_00089014 + local_d4 * 2)" * (cast_expression "(byte *)(&DAT_00089014 + local_d4 * 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00089014 + local_d4 * 2)" ( (binary_expression "&DAT_00089014 + local_d4 * 2" (pointer_expression "&DAT_00089014" & identifier) + (binary_expression "local_d4 * 2" identifier * number_literal)) )))) >> number_literal) & number_literal)) ;) }))) (if_statement "if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "(bVar18 != 0)" ( (binary_expression "bVar18 != 0" identifier != number_literal) )) (compound_statement "{\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }" { (expression_statement "DAT_000890f8 = 0xe;" (assignment_expression "DAT_000890f8 = 0xe" identifier = number_literal) ;) (expression_statement "local_e0 = 0xe;" (assignment_expression "local_e0 = 0xe" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }" statement_identifier : (if_statement "if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }" if (parenthesized_expression "(DAT_000890c4 != (int *)0x0)" ( (binary_expression "DAT_000890c4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }" { (if_statement "if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "(((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10))))" ( (binary_expression "((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))" (parenthesized_expression "((bVar17 & 0x18) == 0)" ( (binary_expression "(bVar17 & 0x18) == 0" (parenthesized_expression "(bVar17 & 0x18)" ( (binary_expression "bVar17 & 0x18" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))" ( (parenthesized_expression "(DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10))" ( (binary_expression "DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)" (binary_expression "DAT_000890c4[1] != 0" (subscript_expression "DAT_000890c4[1]" identifier [ number_literal ]) != number_literal) && (parenthesized_expression "((bVar17 & 0x18) == 0x10)" ( (binary_expression "(bVar17 & 0x18) == 0x10" (parenthesized_expression "(bVar17 & 0x18)" ( (binary_expression "bVar17 & 0x18" identifier & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }" { (expression_statement "DAT_000890f8 = 0xf;" (assignment_expression "DAT_000890f8 = 0xf" identifier = number_literal) ;) (expression_statement "local_e0 = 0xf;" (assignment_expression "local_e0 = 0xf" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "(DAT_000890c4[2] != DAT_00088ffc + -1)" ( (binary_expression "DAT_000890c4[2] != DAT_00088ffc + -1" (subscript_expression "DAT_000890c4[2]" identifier [ number_literal ]) != (binary_expression "DAT_00088ffc + -1" identifier + number_literal)) )) (compound_statement "{\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }" { (expression_statement "DAT_000890f8 = 0x10;" (assignment_expression "DAT_000890f8 = 0x10" identifier = number_literal) ;) (expression_statement "local_e0 = 0x10;" (assignment_expression "local_e0 = 0x10" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) }))) (if_statement "if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }" if (parenthesized_expression "(DAT_000890c8 != (int *)0x0)" ( (binary_expression "DAT_000890c8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }" { (if_statement "if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "(*DAT_000890c8 == 4)" ( (binary_expression "*DAT_000890c8 == 4" (pointer_expression "*DAT_000890c8" * identifier) == number_literal) )) (compound_statement "{\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }" { (if_statement "if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;" if (parenthesized_expression "((bVar17 & 0xc0) != 0x80)" ( (binary_expression "(bVar17 & 0xc0) != 0x80" (parenthesized_expression "(bVar17 & 0xc0)" ( (binary_expression "bVar17 & 0xc0" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0004dd1c;" goto statement_identifier ;)) }) (else_clause "else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" else (if_statement "if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "((bVar17 & 0x40) == 0)" ( (binary_expression "(bVar17 & 0x40) == 0" (parenthesized_expression "(bVar17 & 0x40)" ( (binary_expression "bVar17 & 0x40" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" { (labeled_statement "LAB_0004dd1c:\n            DAT_000890f8 = 0x12;" statement_identifier : (expression_statement "DAT_000890f8 = 0x12;" (assignment_expression "DAT_000890f8 = 0x12" identifier = number_literal) ;)) (expression_statement "local_e0 = 0x12;" (assignment_expression "local_e0 = 0x12" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })))) (if_statement "if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }" if (parenthesized_expression "((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1))" ( (binary_expression "(1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)" (parenthesized_expression "(1 < DAT_0008900c)" ( (binary_expression "1 < DAT_0008900c" number_literal < identifier) )) && (parenthesized_expression "(DAT_000890c8[1] != DAT_0008900c - 1)" ( (binary_expression "DAT_000890c8[1] != DAT_0008900c - 1" (subscript_expression "DAT_000890c8[1]" identifier [ number_literal ]) != (binary_expression "DAT_0008900c - 1" identifier - number_literal)) ))) )) (compound_statement "{\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }" { (expression_statement "DAT_000890f8 = 0x13;" (assignment_expression "DAT_000890f8 = 0x13" identifier = number_literal) ;) (expression_statement "local_e0 = 0x13;" (assignment_expression "local_e0 = 0x13" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) })) (expression_statement "DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;" (assignment_expression "DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7" identifier = (binary_expression "*(byte *)(puVar32 + 0xb) & 7" (pointer_expression "*(byte *)(puVar32 + 0xb)" * (cast_expression "(byte *)(puVar32 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }" if (parenthesized_expression "(((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2))" ( (binary_expression "((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)" (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 7) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 0xb) & 7) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 7)" ( (binary_expression "*(byte *)(puVar32 + 0xb) & 7" (pointer_expression "*(byte *)(puVar32 + 0xb)" * (cast_expression "(byte *)(puVar32 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0xb)" ( (binary_expression "puVar32 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(DAT_000890d8 != 2)" ( (binary_expression "DAT_000890d8 != 2" identifier != number_literal) ))) )) (compound_statement "{\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }" { (if_statement "if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }" if (parenthesized_expression "(DAT_000890cc != (int *)0x0)" ( (binary_expression "DAT_000890cc != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }" { (expression_statement "DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;" (assignment_expression "DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3" identifier = (binary_expression "((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3" (parenthesized_expression "((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f)" ( (binary_expression "(int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f" (cast_expression "(int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 )" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 )" ( (binary_expression "(uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f" (call_expression "(uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7)" ( (binary_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7" (pointer_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 0x33)" * (cast_expression "(byte *)((int)puVar32 + local_d4 * 8 + 0x33)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 0x33)" ( (binary_expression "(int)puVar32 + local_d4 * 8 + 0x33" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "local_d4 * 8" identifier * number_literal)) + number_literal) )))) >> number_literal) ))) << number_literal) ))) >> number_literal) )) + number_literal)) ;) })) (if_statement "if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }" if (parenthesized_expression "(DAT_00088ffc != 0)" ( (binary_expression "DAT_00088ffc != 0" identifier != number_literal) )) (compound_statement "{\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);" do (compound_statement "{\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            }" { (if_statement "if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }" if (parenthesized_expression "(((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02'))" ( (binary_expression "((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')" (parenthesized_expression "((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0)" ( (binary_expression "(*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f)" ( (binary_expression "*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" * (cast_expression "(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (binary_expression "(int)&DAT_00089010 + iVar23 * 8 + 2" (binary_expression "(int)&DAT_00089010 + iVar23 * 8" (cast_expression "(int)&DAT_00089010" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00089010" & identifier)) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')" ( (comma_expression "iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02'" (assignment_expression "iVar24 = (&DAT_00089038)[iVar23]" identifier = (subscript_expression "(&DAT_00089038)[iVar23]" (parenthesized_expression "(&DAT_00089038)" ( (pointer_expression "&DAT_00089038" & identifier) )) [ identifier ])) , (binary_expression "*(char *)(iVar24 + 0x10) == '\x02'" (pointer_expression "*(char *)(iVar24 + 0x10)" * (cast_expression "(char *)(iVar24 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x10)" ( (binary_expression "iVar24 + 0x10" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence '))) ))) )) (compound_statement "{\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }" { (expression_statement "uVar28 = *(uint *)(iVar24 + 8);" (assignment_expression "uVar28 = *(uint *)(iVar24 + 8)" identifier = (pointer_expression "*(uint *)(iVar24 + 8)" * (cast_expression "(uint *)(iVar24 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 8)" ( (binary_expression "iVar24 + 8" identifier + number_literal) ))))) ;) (if_statement "if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }" if (parenthesized_expression "(DAT_000890d0 == 0xffffffff)" ( (binary_expression "DAT_000890d0 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }" { (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28)" identifier (argument_list "("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""fits_in_disp8"" " string_content ") , identifier ))) ;) })) (expression_statement "bVar17 = (byte)DAT_000890d0;" (assignment_expression "bVar17 = (byte)DAT_000890d0" identifier = (cast_expression "(byte)DAT_000890d0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }" if (parenthesized_expression "(((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0)" ( (binary_expression "((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0" (parenthesized_expression "((1 << (bVar17 & 0x1f)) - 1U & uVar28)" ( (binary_expression "(1 << (bVar17 & 0x1f)) - 1U & uVar28" (binary_expression "(1 << (bVar17 & 0x1f)) - 1U" (parenthesized_expression "(1 << (bVar17 & 0x1f))" ( (binary_expression "1 << (bVar17 & 0x1f)" number_literal << (parenthesized_expression "(bVar17 & 0x1f)" ( (binary_expression "bVar17 & 0x1f" identifier & number_literal) ))) )) - number_literal) & identifier) )) == number_literal) )) (compound_statement "{\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }" { (expression_statement "uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);" (assignment_expression "uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f)" identifier = (binary_expression "*(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f)" (pointer_expression "*(int *)(iVar24 + 0xc)" * (cast_expression "(int *)(iVar24 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0xc)" ( (binary_expression "iVar24 + 0xc" identifier + number_literal) )))) >> (parenthesized_expression "(bVar17 & 0x1f)" ( (binary_expression "bVar17 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);" (assignment_expression "uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f)" identifier = (binary_expression "uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f)" (binary_expression "uVar28 >> (bVar17 & 0x1f)" identifier >> (parenthesized_expression "(bVar17 & 0x1f)" ( (binary_expression "bVar17 & 0x1f" identifier & number_literal) ))) | (binary_expression "*(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f)" (pointer_expression "*(int *)(iVar24 + 0xc)" * (cast_expression "(int *)(iVar24 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0xc)" ( (binary_expression "iVar24 + 0xc" identifier + number_literal) )))) << (binary_expression "0x20 - (bVar17 & 0x1f)" number_literal - (parenthesized_expression "(bVar17 & 0x1f)" ( (binary_expression "bVar17 & 0x1f" identifier & number_literal) )))))) ;) (expression_statement "uVar20 = uVar31;" (assignment_expression "uVar20 = uVar31" identifier = identifier) ;) (if_statement "if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }" if (parenthesized_expression "((DAT_000890d0 & 0x20) != 0)" ( (binary_expression "(DAT_000890d0 & 0x20) != 0" (parenthesized_expression "(DAT_000890d0 & 0x20)" ( (binary_expression "DAT_000890d0 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }" { (expression_statement "uVar20 = (int)uVar31 >> 0x1f;" (assignment_expression "uVar20 = (int)uVar31 >> 0x1f" identifier = (binary_expression "(int)uVar31 >> 0x1f" (cast_expression "(int)uVar31" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "uVar28 = uVar31;" (assignment_expression "uVar28 = uVar31" identifier = identifier) ;) })) (expression_statement "iVar24 = uVar20 + (0xffffff7f < uVar28);" (assignment_expression "iVar24 = uVar20 + (0xffffff7f < uVar28)" identifier = (binary_expression "uVar20 + (0xffffff7f < uVar28)" identifier + (parenthesized_expression "(0xffffff7f < uVar28)" ( (binary_expression "0xffffff7f < uVar28" number_literal < identifier) )))) ;) (if_statement "if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }" if (parenthesized_expression "(iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24)" ( (binary_expression "iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24" (binary_expression "iVar24 == 0" identifier == number_literal) && (binary_expression "(uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24" (call_expression "(uint)(0xff < uVar28 + 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff < uVar28 + 0x80)" ( (binary_expression "0xff < uVar28 + 0x80" number_literal < (binary_expression "uVar28 + 0x80" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar24" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }" { (expression_statement "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);" (assignment_expression "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" identifier = (cast_expression "(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (binary_expression "(int)&DAT_00089010 + iVar23 * 8 + 2" (binary_expression "(int)&DAT_00089010 + iVar23 * 8" (cast_expression "(int)&DAT_00089010" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00089010" & identifier)) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar2 = *pbVar2 | 1;" (assignment_expression "*pbVar2 = *pbVar2 | 1" (pointer_expression "*pbVar2" * identifier) = (binary_expression "*pbVar2 | 1" (pointer_expression "*pbVar2" * identifier) | number_literal)) ;) (goto_statement "goto LAB_0004d657;" goto statement_identifier ;) })) })) (expression_statement "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);" (assignment_expression "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" identifier = (cast_expression "(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&DAT_00089010 + iVar23 * 8 + 2)" ( (binary_expression "(int)&DAT_00089010 + iVar23 * 8 + 2" (binary_expression "(int)&DAT_00089010 + iVar23 * 8" (cast_expression "(int)&DAT_00089010" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00089010" & identifier)) + (binary_expression "iVar23 * 8" identifier * number_literal)) + number_literal) )))) ;) (expression_statement "*pbVar2 = *pbVar2 & 0xfe;" (assignment_expression "*pbVar2 = *pbVar2 & 0xfe" (pointer_expression "*pbVar2" * identifier) = (binary_expression "*pbVar2 & 0xfe" (pointer_expression "*pbVar2" * identifier) & number_literal)) ;) })) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar23 != iVar19)" ( (binary_expression "iVar23 != iVar19" identifier != identifier) )) ;) })) })) (expression_statement "DAT_000890d0 = 0;" (assignment_expression "DAT_000890d0 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" statement_identifier : (if_statement "if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" if (parenthesized_expression "(DAT_000890e4 == 3)" ( (binary_expression "DAT_000890e4 == 3" identifier == number_literal) )) (compound_statement "{\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }" { (if_statement "if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;" if (parenthesized_expression "(*(char *)((int)puVar32 + 0x2b) != '\0')" ( (binary_expression "*(char *)((int)puVar32 + 0x2b) != '\0'" (pointer_expression "*(char *)((int)puVar32 + 0x2b)" * (cast_expression "(char *)((int)puVar32 + 0x2b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x2b)" ( (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0004d671;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" else (compound_statement "{\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" { (if_statement "if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }" if (parenthesized_expression "((*(byte *)((int)puVar32 + 0x29) & 6) != 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x29) & 6) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x29) & 6)" ( (binary_expression "*(byte *)((int)puVar32 + 0x29) & 6" (pointer_expression "*(byte *)((int)puVar32 + 0x29)" * (cast_expression "(byte *)((int)puVar32 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x29)" ( (binary_expression "(int)puVar32 + 0x29" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }" { (if_statement "if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;" if (parenthesized_expression "((*(byte *)((int)puVar32 + 0x35) & 1) == 0)" ( (binary_expression "(*(byte *)((int)puVar32 + 0x35) & 1) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x35) & 1)" ( (binary_expression "*(byte *)((int)puVar32 + 0x35) & 1" (pointer_expression "*(byte *)((int)puVar32 + 0x35)" * (cast_expression "(byte *)((int)puVar32 + 0x35)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x35)" ( (binary_expression "(int)puVar32 + 0x35" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0004d671;" goto statement_identifier ;)) (if_statement "if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }" if (parenthesized_expression "((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))" ( (binary_expression "(*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0)" (parenthesized_expression "(*(char *)(DAT_00089038 + 0x10) == '\x02')" ( (binary_expression "*(char *)(DAT_00089038 + 0x10) == '\x02'" (pointer_expression "*(char *)(DAT_00089038 + 0x10)" * (cast_expression "(char *)(DAT_00089038 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 0x10)" ( (binary_expression "DAT_00089038 + 0x10" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) )) && (parenthesized_expression "((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0)" ( (binary_expression "(*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0" (binary_expression "(*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0" (parenthesized_expression "(*(uint *)(DAT_00089038 + 8) & 0xfffffff0)" ( (binary_expression "*(uint *)(DAT_00089038 + 8) & 0xfffffff0" (pointer_expression "*(uint *)(DAT_00089038 + 8)" * (cast_expression "(uint *)(DAT_00089038 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 8)" ( (binary_expression "DAT_00089038 + 8" identifier + number_literal) )))) & number_literal) )) == number_literal) && (binary_expression "*(int *)(DAT_00089038 + 0xc) == 0" (pointer_expression "*(int *)(DAT_00089038 + 0xc)" * (cast_expression "(int *)(DAT_00089038 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00089038 + 0xc)" ( (binary_expression "DAT_00089038 + 0xc" identifier + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }" { (expression_statement "DAT_00089010 = 0;" (assignment_expression "DAT_00089010 = 0" identifier = number_literal) ;) (expression_statement "DAT_00089014 = 0x100;" (assignment_expression "DAT_00089014 = 0x100" identifier = number_literal) ;) (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" identifier = (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0004bec6;" goto statement_identifier ;) })) (expression_statement "DAT_000890f8 = 5;" (assignment_expression "DAT_000890f8 = 5" identifier = number_literal) ;) (expression_statement "local_e0 = 5;" (assignment_expression "local_e0 = 5" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) (if_statement "if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }" if (parenthesized_expression "(DAT_000890e4 == 0)" ( (binary_expression "DAT_000890e4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }" { (labeled_statement "LAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];" statement_identifier : (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" identifier = (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) ;)) (goto_statement "goto LAB_0004bec6;" goto statement_identifier ;) })) })))) (labeled_statement "LAB_0004cc2a:\n      DAT_000890f8 = 8;" statement_identifier : (expression_statement "DAT_000890f8 = 8;" (assignment_expression "DAT_000890f8 = 8" identifier = number_literal) ;)) (expression_statement "local_e0 = 8;" (assignment_expression "local_e0 = 8" identifier = number_literal) ;) (goto_statement "goto LAB_0004ba48;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0004cef0:\n  DAT_000890f8 = 9;" statement_identifier : (expression_statement "DAT_000890f8 = 9;" (assignment_expression "DAT_000890f8 = 9" identifier = number_literal) ;)) (expression_statement "local_e0 = 9;" (assignment_expression "local_e0 = 9" identifier = number_literal) ;) (labeled_statement "LAB_0004ba48:\n  puVar21 = (undefined4 *)DAT_00088f88[1];" statement_identifier : (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" identifier = (cast_expression "(undefined4 *)DAT_00088f88[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "DAT_00088f88[1]" identifier [ number_literal ]))) ;)) (expression_statement "puVar33 = puVar32 + 0x16;" (assignment_expression "puVar33 = puVar32 + 0x16" identifier = (binary_expression "puVar32 + 0x16" identifier + number_literal)) ;) (if_statement "if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;" if (parenthesized_expression "(puVar21 <= puVar32 + 0x16)" ( (binary_expression "puVar21 <= puVar32 + 0x16" identifier <= (binary_expression "puVar32 + 0x16" identifier + number_literal)) )) (goto_statement "goto LAB_0004bec0;" goto statement_identifier ;)) (goto_statement "goto LAB_0004ba5c;" goto statement_identifier ;) (labeled_statement "LAB_0004bec0:\n  puVar32 = puVar32 + 0x16;" statement_identifier : (expression_statement "puVar32 = puVar32 + 0x16;" (assignment_expression "puVar32 = puVar32 + 0x16" identifier = (binary_expression "puVar32 + 0x16" identifier + number_literal)) ;)) (labeled_statement "LAB_0004bec6:\n  if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }" statement_identifier : (if_statement "if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }" if (parenthesized_expression "(puVar21 == puVar32)" ( (binary_expression "puVar21 == puVar32" identifier == identifier) )) (compound_statement "{\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }" { (if_statement "if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }" if (parenthesized_expression "(local_e0 == 0)" ( (binary_expression "local_e0 == 0" identifier == number_literal) )) (compound_statement "{\n      local_e0 = DAT_000890f8;\n    }" { (expression_statement "local_e0 = DAT_000890f8;" (assignment_expression "local_e0 = DAT_000890f8" identifier = identifier) ;) })) (switch_statement "switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }" switch (parenthesized_expression "(local_e0)" ( identifier )) (compound_statement "{\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }" { (case_statement "case 0:\n      pcVar26 = "operand size mismatch";\n      break;" case number_literal : (expression_statement "pcVar26 = "operand size mismatch";" (assignment_expression "pcVar26 = "operand size mismatch"" identifier = (string_literal ""operand size mismatch"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      pcVar26 = "operand type mismatch";\n      break;" case number_literal : (expression_statement "pcVar26 = "operand type mismatch";" (assignment_expression "pcVar26 = "operand type mismatch"" identifier = (string_literal ""operand type mismatch"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      pcVar26 = "register type mismatch";\n      break;" case number_literal : (expression_statement "pcVar26 = "register type mismatch";" (assignment_expression "pcVar26 = "register type mismatch"" identifier = (string_literal ""register type mismatch"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      goto LAB_0004cbaa;" case number_literal : (goto_statement "goto LAB_0004cbaa;" goto statement_identifier ;)) (case_statement "case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;" case number_literal : (expression_statement "pcVar26 = "invalid instruction suffix";" (assignment_expression "pcVar26 = "invalid instruction suffix"" identifier = (string_literal ""invalid instruction suffix"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;" case number_literal : (expression_statement "pcVar26 = "constant doesn\'t fit in 4 bits";" (assignment_expression "pcVar26 = "constant doesn\'t fit in 4 bits"" identifier = (string_literal ""constant doesn\'t fit in 4 bits"" " string_content escape_sequence string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported with Intel mnemonic";" (assignment_expression "pcVar26 = "unsupported with Intel mnemonic"" identifier = (string_literal ""unsupported with Intel mnemonic"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n      pcVar26 = "unsupported syntax";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported syntax";" (assignment_expression "pcVar26 = "unsupported syntax"" identifier = (string_literal ""unsupported syntax"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;" case number_literal : (expression_statement "uVar22 = *(undefined4 *)*DAT_00088f88;" (assignment_expression "uVar22 = *(undefined4 *)*DAT_00088f88" identifier = (pointer_expression "*(undefined4 *)*DAT_00088f88" * (cast_expression "(undefined4 *)*DAT_00088f88" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00088f88" * identifier)))) ;) (expression_statement "uVar27 = 5;" (assignment_expression "uVar27 = 5" identifier = number_literal) ;) (expression_statement "uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);" (assignment_expression "uVar25 = dcgettext(0,"unsupported instruction `%s\'",5)" identifier = (call_expression "dcgettext(0,"unsupported instruction `%s\'",5)" identifier (argument_list "(0,"unsupported instruction `%s\'",5)" ( number_literal , (string_literal ""unsupported instruction `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (goto_statement "goto code_r0x0004ca4e;" goto statement_identifier ;)) (case_statement "case 9:\n      pcVar26 = "invalid VSIB address";\n      break;" case number_literal : (expression_statement "pcVar26 = "invalid VSIB address";" (assignment_expression "pcVar26 = "invalid VSIB address"" identifier = (string_literal ""invalid VSIB address"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;" case number_literal : (expression_statement "pcVar26 = "mask, index, and destination registers must be distinct";" (assignment_expression "pcVar26 = "mask, index, and destination registers must be distinct"" identifier = (string_literal ""mask, index, and destination registers must be distinct"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported vector index register";" (assignment_expression "pcVar26 = "unsupported vector index register"" identifier = (string_literal ""unsupported vector index register"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported broadcast";" (assignment_expression "pcVar26 = "unsupported broadcast"" identifier = (string_literal ""unsupported broadcast"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;" case number_literal : (expression_statement "pcVar26 = "broadcast not on source memory operand";" (assignment_expression "pcVar26 = "broadcast not on source memory operand"" identifier = (string_literal ""broadcast not on source memory operand"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;" case number_literal : (expression_statement "pcVar26 = "broadcast is needed for operand of such type";" (assignment_expression "pcVar26 = "broadcast is needed for operand of such type"" identifier = (string_literal ""broadcast is needed for operand of such type"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n      pcVar26 = "unsupported masking";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported masking";" (assignment_expression "pcVar26 = "unsupported masking"" identifier = (string_literal ""unsupported masking"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;" case number_literal : (expression_statement "pcVar26 = "mask not on destination operand";" (assignment_expression "pcVar26 = "mask not on destination operand"" identifier = (string_literal ""mask not on destination operand"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;" case number_literal : (expression_statement "pcVar26 = "default mask isn\'t allowed";" (assignment_expression "pcVar26 = "default mask isn\'t allowed"" identifier = (string_literal ""default mask isn\'t allowed"" " string_content escape_sequence string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;" case number_literal : (expression_statement "pcVar26 = "unsupported static rounding/sae";" (assignment_expression "pcVar26 = "unsupported static rounding/sae"" identifier = (string_literal ""unsupported static rounding/sae"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;" case number_literal : (if_statement "if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }" if (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }" { (expression_statement "pcVar26 = "RC/SAE operand must follow immediate operands";" (assignment_expression "pcVar26 = "RC/SAE operand must follow immediate operands"" identifier = (string_literal ""RC/SAE operand must follow immediate operands"" " string_content ")) ;) }) (else_clause "else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }" else (compound_statement "{\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }" { (expression_statement "pcVar26 = "RC/SAE operand must precede immediate operands";" (assignment_expression "pcVar26 = "RC/SAE operand must precede immediate operands"" identifier = (string_literal ""RC/SAE operand must precede immediate operands"" " string_content ")) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x14:\n      pcVar26 = "invalid register operand";\n      break;" case number_literal : (expression_statement "pcVar26 = "invalid register operand";" (assignment_expression "pcVar26 = "invalid register operand"" identifier = (string_literal ""invalid register operand"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);" default : (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32)" identifier (argument_list "("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32)" ( (string_literal ""../../gas/config/tc-i386.c"" " string_content ") , number_literal , (string_literal ""match_template"" " string_content ") , identifier ))) ;)) })) (labeled_statement "LAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);" statement_identifier : (expression_statement "uVar22 = dcgettext(0,pcVar26,5);" (assignment_expression "uVar22 = dcgettext(0,pcVar26,5)" identifier = (call_expression "dcgettext(0,pcVar26,5)" identifier (argument_list "(0,pcVar26,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "uVar27 = *(undefined4 *)*DAT_00088f88;" (assignment_expression "uVar27 = *(undefined4 *)*DAT_00088f88" identifier = (pointer_expression "*(undefined4 *)*DAT_00088f88" * (cast_expression "(undefined4 *)*DAT_00088f88" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*DAT_00088f88" * identifier)))) ;) (expression_statement "uVar25 = dcgettext(0,"%s for `%s\'",5);" (assignment_expression "uVar25 = dcgettext(0,"%s for `%s\'",5)" identifier = (call_expression "dcgettext(0,"%s for `%s\'",5)" identifier (argument_list "(0,"%s for `%s\'",5)" ( number_literal , (string_literal ""%s for `%s\'"" " string_content escape_sequence ") , number_literal )))) ;) (labeled_statement "code_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);" statement_identifier : (expression_statement "FUN_0002bd60(uVar25,uVar22,uVar27);" (call_expression "FUN_0002bd60(uVar25,uVar22,uVar27)" identifier (argument_list "(uVar25,uVar22,uVar27)" ( identifier , identifier , identifier ))) ;)) (return_statement "return (undefined4 *)0x0;" return (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) }))) (if_statement "if (DAT_00088ec0 != 0) goto LAB_0004bf2b;" if (parenthesized_expression "(DAT_00088ec0 != 0)" ( (binary_expression "DAT_00088ec0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004bf2b;" goto statement_identifier ;)) (labeled_statement "LAB_0004bed8:\n  if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }" statement_identifier : (if_statement "if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }" if (parenthesized_expression "(DAT_00088ef4 == 0)" ( (binary_expression "DAT_00088ef4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }" { (if_statement "if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }" if (parenthesized_expression "((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1))" ( (binary_expression "(DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)" (parenthesized_expression "(DAT_00089010._3_1_ >> 1 & 1)" ( (binary_expression "DAT_00089010._3_1_ >> 1 & 1" (binary_expression "DAT_00089010._3_1_ >> 1" (field_expression "DAT_00089010._3_1_" identifier . field_identifier) >> number_literal) & number_literal) )) != (parenthesized_expression "(local_44._3_1_ >> 1 & 1)" ( (binary_expression "local_44._3_1_ >> 1 & 1" (binary_expression "local_44._3_1_ >> 1" (field_expression "local_44._3_1_" identifier . field_identifier) >> number_literal) & number_literal) ))) )) (compound_statement "{\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }" { (expression_statement "uVar27 = *puVar32;" (assignment_expression "uVar27 = *puVar32" identifier = (pointer_expression "*puVar32" * identifier)) ;) (expression_statement "uVar22 = dcgettext(0,"indirect %s without `*\'",5);" (assignment_expression "uVar22 = dcgettext(0,"indirect %s without `*\'",5)" identifier = (call_expression "dcgettext(0,"indirect %s without `*\'",5)" identifier (argument_list "(0,"indirect %s without `*\'",5)" ( number_literal , (string_literal ""indirect %s without `*\'"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar22,uVar27);" (call_expression "FUN_0002bc80(uVar22,uVar27)" identifier (argument_list "(uVar22,uVar27)" ( identifier , identifier ))) ;) })) }))) (if_statement "if (((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')) {\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }" if (parenthesized_expression "(((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0'))" ( (binary_expression "((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')" (parenthesized_expression "((*(byte *)(puVar32 + 10) & 0x10) != 0)" ( (binary_expression "(*(byte *)(puVar32 + 10) & 0x10) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 10) & 0x10)" ( (binary_expression "*(byte *)(puVar32 + 10) & 0x10" (pointer_expression "*(byte *)(puVar32 + 10)" * (cast_expression "(byte *)(puVar32 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 10)" ( (binary_expression "puVar32 + 10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(char *)((int)puVar32 + 0x25) < '\0')" ( (binary_expression "*(char *)((int)puVar32 + 0x25) < '\0'" (pointer_expression "*(char *)((int)puVar32 + 0x25)" * (cast_expression "(char *)((int)puVar32 + 0x25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + 0x25)" ( (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }" { (expression_statement "uVar27 = *puVar32;" (assignment_expression "uVar27 = *puVar32" identifier = (pointer_expression "*puVar32" * identifier)) ;) (expression_statement "uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);" (assignment_expression "uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5)" identifier = (call_expression "dcgettext(0,"stand-alone `%s\' prefix",5)" identifier (argument_list "(0,"stand-alone `%s\' prefix",5)" ( number_literal , (string_literal ""stand-alone `%s\' prefix"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bc80(uVar22,uVar27);" (call_expression "FUN_0002bc80(uVar22,uVar27)" identifier (argument_list "(uVar22,uVar27)" ( identifier , identifier ))) ;) })) (labeled_statement "LAB_0004bf2b:\n  puVar33 = puVar32;" statement_identifier : (expression_statement "puVar33 = puVar32;" (assignment_expression "puVar33 = puVar32" identifier = identifier) ;)) (expression_statement "puVar21 = &DAT_00088fa0;" (assignment_expression "puVar21 = &DAT_00088fa0" identifier = (pointer_expression "&DAT_00088fa0" & identifier)) ;) (for_statement "for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }" for ( (assignment_expression "iVar19 = 0x16" identifier = number_literal) ; (binary_expression "iVar19 != 0" identifier != number_literal) ; (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ) (compound_statement "{\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }" { (expression_statement "*puVar21 = *puVar33;" (assignment_expression "*puVar21 = *puVar33" (pointer_expression "*puVar21" * identifier) = (pointer_expression "*puVar33" * identifier)) ;) (expression_statement "puVar33 = puVar33 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar33 + (uint)bVar34 * -2 + 1" (binary_expression "puVar33 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "puVar21 = puVar21 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar21 = puVar21 + (uint)bVar34 * -2 + 1" identifier = (binary_expression "puVar21 + (uint)bVar34 * -2 + 1" (binary_expression "puVar21 + (uint)bVar34 * -2" identifier + (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (if_statement "if (local_d8 != -1) {\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }" if (parenthesized_expression "(local_d8 != -1)" ( (binary_expression "local_d8 != -1" identifier != number_literal) )) (compound_statement "{\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }" { (expression_statement "uVar5 = (&local_40)[local_d8 * 2];" (assignment_expression "uVar5 = (&local_40)[local_d8 * 2]" identifier = (subscript_expression "(&local_40)[local_d8 * 2]" (parenthesized_expression "(&local_40)" ( (pointer_expression "&local_40" & identifier) )) [ (binary_expression "local_d8 * 2" identifier * number_literal) ])) ;) (expression_statement "*(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];" (assignment_expression "*(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2]" (pointer_expression "*(undefined4 *)(&DAT_00088fd0 + local_d8 * 8)" * (cast_expression "(undefined4 *)(&DAT_00088fd0 + local_d8 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00088fd0 + local_d8 * 8)" ( (binary_expression "&DAT_00088fd0 + local_d8 * 8" (pointer_expression "&DAT_00088fd0" & identifier) + (binary_expression "local_d8 * 8" identifier * number_literal)) )))) = (subscript_expression "(&local_44)[local_d8 * 2]" (parenthesized_expression "(&local_44)" ( (pointer_expression "&local_44" & identifier) )) [ (binary_expression "local_d8 * 2" identifier * number_literal) ])) ;) (expression_statement "(&DAT_00088fd4)[local_d8 * 2] = uVar5;" (assignment_expression "(&DAT_00088fd4)[local_d8 * 2] = uVar5" (subscript_expression "(&DAT_00088fd4)[local_d8 * 2]" (parenthesized_expression "(&DAT_00088fd4)" ( (pointer_expression "&DAT_00088fd4" & identifier) )) [ (binary_expression "local_d8 * 2" identifier * number_literal) ]) = identifier) ;) })) (if_statement "if (local_dc != 0) {\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }" if (parenthesized_expression "(local_dc != 0)" ( (binary_expression "local_dc != 0" identifier != number_literal) )) (compound_statement "{\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }" { (expression_statement "DAT_00088fa8 = DAT_00088fa8 ^ local_dc;" (assignment_expression "DAT_00088fa8 = DAT_00088fa8 ^ local_dc" identifier = (binary_expression "DAT_00088fa8 ^ local_dc" identifier ^ identifier)) ;) (expression_statement "DAT_00088fd4 = local_38;" (assignment_expression "DAT_00088fd4 = local_38" identifier = identifier) ;) (expression_statement "_DAT_00088fd0 = local_3c;" (assignment_expression "_DAT_00088fd0 = local_3c" identifier = identifier) ;) (expression_statement "DAT_00088fdc = local_40;" (assignment_expression "DAT_00088fdc = local_40" identifier = identifier) ;) (expression_statement "DAT_00088fd8 = local_44;" (assignment_expression "DAT_00088fd8 = local_44" identifier = identifier) ;) })) (return_statement "return puVar32;" return identifier ;) }))
(translation_unit (ERROR (binary_expression IDENT * (ERROR IDENT) (call_expression IDENT (argument_list ( IDENT (ERROR IDENT) ))))) (compound_statement { (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 ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) })))))))))))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;)) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) && (parenthesized_expression ( IDENT ))) )) ))) )) ))) )) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) < (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) >> LIT) & LIT) )) != LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) < (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) < (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) >> LIT) & LIT) )) == LIT) )) || (parenthesized_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) )))) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) )))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }))) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) < (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) ))))) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) )))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) < (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) & LIT) )) == LIT) )) || (parenthesized_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) )))) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) )))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != 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 = LIT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) != (char_literal ' character ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) != (char_literal ' character ')) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))) * LIT)) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))) * LIT)) )))) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) == (char_literal ' character ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_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) )))) < (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) == (char_literal ' character ')) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))) * LIT)) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))) * LIT)) )))) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_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 == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) | LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) | LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) | LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }))) }))) (expression_statement (assignment_expression IDENT = LIT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_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) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & (unary_expression ~ (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) ))) ))))) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) & LIT) )) != LIT)) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) ^ IDENT) )) & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) )) == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (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 (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;))) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) & LIT) )) != LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ (field_expression IDENT . field_identifier)) )) & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) )) == LIT)) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT & IDENT)) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) & LIT) )) != LIT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ IDENT) )) & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) )) == LIT))) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT ^ IDENT) ))) < (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) )) != LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) & (binary_expression (field_expression IDENT . field_identifier) >> LIT)) & LIT) )) != LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) & (binary_expression (field_expression IDENT . field_identifier) >> LIT)) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & (field_expression IDENT . field_identifier)) ))) < (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT) & (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) & LIT) )) != LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT) & (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT) & (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT) & (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) & LIT) )) != LIT) ))) )) ))) )) ))) )) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;) (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 IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) != LIT)) )) || (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) )) & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) & LIT) )) == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) != LIT)) )) || (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) )) & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) & LIT) )) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT >> LIT) , (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) != LIT)) )) || (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) )) & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) & LIT) )) == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }))) }))))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) == LIT)) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) & LIT) )) == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ (field_expression IDENT . field_identifier)) )) & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) )) != LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT & IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) == LIT)) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) & LIT) )) == LIT) && (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) & LIT) )) == LIT)) )))) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) ^ IDENT) )) & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) )) != LIT))) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (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 (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT ^ IDENT) ))) < (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) & LIT) )) != LIT) || (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) )) != LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) & (binary_expression (field_expression IDENT . field_identifier) >> LIT)) & LIT) )) != LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (field_expression IDENT . field_identifier) >> LIT) & LIT) & (binary_expression IDENT >> LIT)) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & IDENT) ))) < (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT) & (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT) & (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT) & (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) & LIT) )) != LIT) ))) )) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT) & (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) & LIT) )) != LIT) ))) )) ))) )) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_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) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & IDENT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & IDENT) )) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & IDENT) )) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & IDENT) )) != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) & LIT) )) == LIT) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) & LIT) )) != LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_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) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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 IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_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 = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT , IDENT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) ]) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) ]) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) )))) & LIT) )) + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (pointer_expression * 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 { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))))))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) & IDENT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_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) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) & LIT) )) != LIT) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT * LIT) ]) & LIT) )) != LIT) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) ^ IDENT) )) & LIT) )) != LIT) ))) )) ))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) & (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) >> LIT)) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) & (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) >> LIT)) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) ))) < (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) & (binary_expression IDENT >> LIT)) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) & (binary_expression IDENT >> LIT)) & LIT) )) != LIT) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) & (binary_expression IDENT >> LIT)) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) & (binary_expression IDENT >> LIT)) & LIT) )) != LIT) ))) )) ))) )) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (goto_statement goto statement_identifier ;) })) }))) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (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) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) >> LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) >> LIT) & LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (binary_expression IDENT - 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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) >> LIT) ))) << LIT) ))) >> LIT) )) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) )) - LIT) & IDENT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT & LIT) )))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (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) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_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) )))) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_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) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) ))) )) (compound_statement { (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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (goto_statement goto statement_identifier ;) })) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (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 ")) ;) }))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;)) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) >> LIT) & LIT) )) != (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) >> LIT) & LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) && (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) )))) < (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (binary_expression IDENT * LIT)) )))) = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT * LIT) ]) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (return_statement return IDENT ;) }))
(ERROR "undefined4 * __regparm3 FUN_0004b910(undefined1 param_1)" (binary_expression "undefined4 * __regparm3 FUN_0004b910(undefined1 param_1)" (identifier "undefined4") (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (call_expression "FUN_0004b910(undefined1 param_1)" (identifier "FUN_0004b910") (argument_list "(undefined1 param_1)" (( "(") (identifier "undefined1") (ERROR "param_1" (identifier "param_1")) () ")"))))) (compound_statement "{\n  int iVar1;\n  byte *pbVar2;\n  char cVar3;\n  byte bVar4;\n  uint uVar5;\n  bool bVar6;\n  bool bVar7;\n  bool bVar8;\n  bool bVar9;\n  bool bVar10;\n  bool bVar11;\n  bool bVar12;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  bool bVar16;\n  byte bVar17;\n  byte bVar18;\n  int iVar19;\n  uint uVar20;\n  undefined4 *puVar21;\n  undefined4 uVar22;\n  int iVar23;\n  int iVar24;\n  undefined4 uVar25;\n  char *pcVar26;\n  undefined4 uVar27;\n  uint uVar28;\n  uint extraout_ECX;\n  uint extraout_ECX_00;\n  byte bVar29;\n  uint uVar31;\n  undefined4 *puVar32;\n  undefined4 *puVar33;\n  byte bVar34;\n  int local_e0;\n  uint local_dc;\n  int local_d8;\n  uint local_d4;\n  uint local_d0;\n  byte local_c8;\n  byte local_c0;\n  uint uStack_a4;\n  uint uStack_a0;\n  uint uStack_9c;\n  uint uStack_98;\n  uint uStack_94;\n  uint uStack_90;\n  byte local_8c;\n  undefined4 local_44;\n  uint local_40;\n  uint local_3c;\n  byte bStack_39;\n  uint local_38;\n  uint uStack_34;\n  uint uStack_30;\n  uint uStack_2c;\n  uint uStack_28;\n  uint uStack_24;\n  uint uStack_20;\n  undefined4 uStack_14;\n  byte bVar30;\n  \n  uVar5 = DAT_000654f0;\n  bVar34 = 0;\n  uStack_14 = 0x4b919;\n  bVar11 = false;\n  bVar10 = false;\n  bVar9 = false;\n  bVar8 = false;\n  bVar7 = false;\n  bVar6 = false;\n  if ((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)) {\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }\n  DAT_000890f8 = 3;\n  puVar32 = (undefined4 *)*DAT_00088f88;\n  if (puVar32 < (undefined4 *)DAT_00088f88[1]) {\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }\n  if (puVar32 == (undefined4 *)DAT_00088f88[1]) {\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }\n  if (DAT_00088ec0 != 0) {\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }\n  local_d8 = -1;\n  local_dc = 0;\n  goto LAB_0004bed8;\nLAB_0004bc61:\n  if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }\n  if ((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0) {\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }\n  if (uVar28 == 1) goto code_r0x0004be14;\n  uVar28 = 1;\n  goto LAB_0004bc61;\nLAB_0004c4e4:\n  DAT_000890f8 = 0;\n  local_d8 = -1;\n  goto LAB_0004ba48;\ncode_r0x0004be14:\n  iVar19 = 0;\nLAB_0004c04c:\n  do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);\n  if (DAT_00088ff8 == 'q') {\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }\n  else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }\nLAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }\n  local_d8 = -1;\n  if (DAT_00089092 != '\0') {\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }\nLAB_0004c3ff:\n  if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;\n  local_d0 = 0;\n  if ((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) {\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }\n  uVar20 = DAT_00089010 & local_44;\n  bVar17 = (byte)(uVar20 >> 0x10);\n  local_8c = (byte)(uVar20 >> 0x18);\n  bVar29 = (byte)(DAT_00089010 >> 0x18);\n  bVar18 = (byte)(DAT_00089018 >> 0x10);\n  bVar30 = (byte)(DAT_00089018 >> 0x18);\n  local_c8 = (byte)DAT_00089014;\n  uVar28 = local_dc;\n  switch(local_d4) {\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }\n  if (DAT_000890d4 == 2) {\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }\ncode_r0x0004c54a:\n  if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }\n  DAT_000890f8 = 1;\ncode_r0x0004c7ec:\n  bVar4 = *(byte *)(puVar32 + 9);\n  if ((bVar4 & 1) == 0) goto LAB_0004ba48;\ncode_r0x0004c7fc:\n  uVar28 = DAT_00089010 & local_3c;\n  if (((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))\n  goto code_r0x0004c880;\n  local_c0 = (byte)(uVar28 >> 0x18);\n  if ((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))\n  goto code_r0x0004c880;\n  if (local_d0 != 0) {\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }\n  local_dc = 0;\n  if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }\n  uVar28 = local_dc | 8;\n  if ((*(byte *)((int)puVar32 + 0x25) & 4) == 0) {\n    uVar28 = local_dc;\n  }\nLAB_0004c685:\n  local_dc = uVar28;\n  if ((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))) {\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }\n  bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30;\n  if ((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0) {\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }\n  if ((*(byte *)(puVar32 + 0xb) & 8) != 0) {\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }\n  if (DAT_00089078 != 0) {\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }\nLAB_0004cef0:\n  DAT_000890f8 = 9;\n  local_e0 = 9;\nLAB_0004ba48:\n  puVar21 = (undefined4 *)DAT_00088f88[1];\n  puVar33 = puVar32 + 0x16;\n  if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n  goto LAB_0004ba5c;\nLAB_0004bec0:\n  puVar32 = puVar32 + 0x16;\nLAB_0004bec6:\n  if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }\n  if (DAT_00088ec0 != 0) goto LAB_0004bf2b;\nLAB_0004bed8:\n  if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }\n  if (((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')) {\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }\nLAB_0004bf2b:\n  puVar33 = puVar32;\n  puVar21 = &DAT_00088fa0;\n  for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }\n  if (local_d8 != -1) {\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }\n  if (local_dc != 0) {\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }\n  return puVar32;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "byte *pbVar2;" (type_identifier "byte") (pointer_declarator "*pbVar2" (* "*") (identifier "pbVar2")) (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "bool bVar6;" (primitive_type "bool") (identifier "bVar6") (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "bool bVar8;" (primitive_type "bool") (identifier "bVar8") (; ";")) (declaration "bool bVar9;" (primitive_type "bool") (identifier "bVar9") (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "bool bVar11;" (primitive_type "bool") (identifier "bVar11") (; ";")) (declaration "bool bVar12;" (primitive_type "bool") (identifier "bVar12") (; ";")) (declaration "bool bVar13;" (primitive_type "bool") (identifier "bVar13") (; ";")) (declaration "bool bVar14;" (primitive_type "bool") (identifier "bVar14") (; ";")) (declaration "bool bVar15;" (primitive_type "bool") (identifier "bVar15") (; ";")) (declaration "bool bVar16;" (primitive_type "bool") (identifier "bVar16") (; ";")) (declaration "byte bVar17;" (type_identifier "byte") (identifier "bVar17") (; ";")) (declaration "byte bVar18;" (type_identifier "byte") (identifier "bVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "undefined4 *puVar21;" (type_identifier "undefined4") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined4 uVar22;" (type_identifier "undefined4") (identifier "uVar22") (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "int iVar24;" (primitive_type "int") (identifier "iVar24") (; ";")) (declaration "undefined4 uVar25;" (type_identifier "undefined4") (identifier "uVar25") (; ";")) (declaration "char *pcVar26;" (primitive_type "char") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "undefined4 uVar27;" (type_identifier "undefined4") (identifier "uVar27") (; ";")) (declaration "uint uVar28;" (type_identifier "uint") (identifier "uVar28") (; ";")) (declaration "uint extraout_ECX;" (type_identifier "uint") (identifier "extraout_ECX") (; ";")) (declaration "uint extraout_ECX_00;" (type_identifier "uint") (identifier "extraout_ECX_00") (; ";")) (declaration "byte bVar29;" (type_identifier "byte") (identifier "bVar29") (; ";")) (declaration "uint uVar31;" (type_identifier "uint") (identifier "uVar31") (; ";")) (declaration "undefined4 *puVar32;" (type_identifier "undefined4") (pointer_declarator "*puVar32" (* "*") (identifier "puVar32")) (; ";")) (declaration "undefined4 *puVar33;" (type_identifier "undefined4") (pointer_declarator "*puVar33" (* "*") (identifier "puVar33")) (; ";")) (declaration "byte bVar34;" (type_identifier "byte") (identifier "bVar34") (; ";")) (declaration "int local_e0;" (primitive_type "int") (identifier "local_e0") (; ";")) (declaration "uint local_dc;" (type_identifier "uint") (identifier "local_dc") (; ";")) (declaration "int local_d8;" (primitive_type "int") (identifier "local_d8") (; ";")) (declaration "uint local_d4;" (type_identifier "uint") (identifier "local_d4") (; ";")) (declaration "uint local_d0;" (type_identifier "uint") (identifier "local_d0") (; ";")) (declaration "byte local_c8;" (type_identifier "byte") (identifier "local_c8") (; ";")) (declaration "byte local_c0;" (type_identifier "byte") (identifier "local_c0") (; ";")) (declaration "uint uStack_a4;" (type_identifier "uint") (identifier "uStack_a4") (; ";")) (declaration "uint uStack_a0;" (type_identifier "uint") (identifier "uStack_a0") (; ";")) (declaration "uint uStack_9c;" (type_identifier "uint") (identifier "uStack_9c") (; ";")) (declaration "uint uStack_98;" (type_identifier "uint") (identifier "uStack_98") (; ";")) (declaration "uint uStack_94;" (type_identifier "uint") (identifier "uStack_94") (; ";")) (declaration "uint uStack_90;" (type_identifier "uint") (identifier "uStack_90") (; ";")) (declaration "byte local_8c;" (type_identifier "byte") (identifier "local_8c") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "byte bStack_39;" (type_identifier "byte") (identifier "bStack_39") (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "uint uStack_34;" (type_identifier "uint") (identifier "uStack_34") (; ";")) (declaration "uint uStack_30;" (type_identifier "uint") (identifier "uStack_30") (; ";")) (declaration "uint uStack_2c;" (type_identifier "uint") (identifier "uStack_2c") (; ";")) (declaration "uint uStack_28;" (type_identifier "uint") (identifier "uStack_28") (; ";")) (declaration "uint uStack_24;" (type_identifier "uint") (identifier "uStack_24") (; ";")) (declaration "uint uStack_20;" (type_identifier "uint") (identifier "uStack_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (declaration "byte bVar30;" (type_identifier "byte") (identifier "bVar30") (; ";")) (expression_statement "uVar5 = DAT_000654f0;" (assignment_expression "uVar5 = DAT_000654f0" (identifier "uVar5") (= "=") (identifier "DAT_000654f0")) (; ";")) (expression_statement "bVar34 = 0;" (assignment_expression "bVar34 = 0" (identifier "bVar34") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x4b919;" (assignment_expression "uStack_14 = 0x4b919" (identifier "uStack_14") (= "=") (number_literal "0x4b919")) (; ";")) (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (if_statement "if ((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)) {\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }\n  else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }" (if "if") (parenthesized_expression "((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0))" (( "(") (binary_expression "(DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)" (parenthesized_expression "(DAT_00088ef4 == 0)" (( "(") (binary_expression "DAT_00088ef4 == 0" (identifier "DAT_00088ef4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_000890cc == (int *)0x0)" (( "(") (binary_expression "DAT_000890cc == (int *)0x0" (identifier "DAT_000890cc") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n    if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    if (DAT_00088ef4 != 0) goto LAB_0004b97b;\n  }" ({ "{") (if_statement "if (DAT_00088ff8 == 'b') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }\n    else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (if "if") (parenthesized_expression "(DAT_00088ff8 == 'b')" (( "(") (binary_expression "DAT_00088ff8 == 'b'" (identifier "DAT_00088ff8") (== "==") (char_literal "'b'" (' "'") (character "b") (' "'"))) () ")")) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = true;\n    }" ({ "{") (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar6 = true;" (assignment_expression "bVar6 = true" (identifier "bVar6") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (else "else") (if_statement "if (DAT_00088ff8 == 'w') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (if "if") (parenthesized_expression "(DAT_00088ff8 == 'w')" (( "(") (binary_expression "DAT_00088ff8 == 'w'" (identifier "DAT_00088ff8") (== "==") (char_literal "'w'" (' "'") (character "w") (' "'"))) () ")")) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = true;\n      bVar6 = false;\n    }" ({ "{") (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" (identifier "bVar7") (= "=") (true "true")) (; ";")) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (else "else") (if_statement "if (DAT_00088ff8 == 's') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (if "if") (parenthesized_expression "(DAT_00088ff8 == 's')" (( "(") (binary_expression "DAT_00088ff8 == 's'" (identifier "DAT_00088ff8") (== "==") (char_literal "'s'" (' "'") (character "s") (' "'"))) () ")")) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = true;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" ({ "{") (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = true;" (assignment_expression "bVar9 = true" (identifier "bVar9") (= "=") (true "true")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (else "else") (if_statement "if (DAT_00088ff8 == 'l') {\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (if "if") (parenthesized_expression "(DAT_00088ff8 == 'l')" (( "(") (binary_expression "DAT_00088ff8 == 'l'" (identifier "DAT_00088ff8") (== "==") (char_literal "'l'" (' "'") (character "l") (' "'"))) () ")")) (compound_statement "{\n      bVar11 = false;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = true;\n      bVar7 = false;\n      bVar6 = false;\n    }" ({ "{") (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar8 = true;" (assignment_expression "bVar8 = true" (identifier "bVar8") (= "=") (true "true")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (else "else") (if_statement "if (DAT_00088ff8 == 'q') {\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }\n    else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (if "if") (parenthesized_expression "(DAT_00088ff8 == 'q')" (( "(") (binary_expression "DAT_00088ff8 == 'q'" (identifier "DAT_00088ff8") (== "==") (char_literal "'q'" (' "'") (character "q") (' "'"))) () ")")) (compound_statement "{\n      bVar11 = false;\n      bVar10 = true;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" ({ "{") (expression_statement "bVar11 = false;" (assignment_expression "bVar11 = false" (identifier "bVar11") (= "=") (false "false")) (; ";")) (expression_statement "bVar10 = true;" (assignment_expression "bVar10 = true" (identifier "bVar10") (= "=") (true "true")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (else "else") (if_statement "if (DAT_00088ff8 == '\x01') {\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" (if "if") (parenthesized_expression "(DAT_00088ff8 == '\x01')" (( "(") (binary_expression "DAT_00088ff8 == '\x01'" (identifier "DAT_00088ff8") (== "==") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n      bVar11 = true;\n      bVar10 = false;\n      bVar9 = false;\n      bVar8 = false;\n      bVar7 = false;\n      bVar6 = false;\n    }" ({ "{") (expression_statement "bVar11 = true;" (assignment_expression "bVar11 = true" (identifier "bVar11") (= "=") (true "true")) (; ";")) (expression_statement "bVar10 = false;" (assignment_expression "bVar10 = false" (identifier "bVar10") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = false;" (assignment_expression "bVar9 = false" (identifier "bVar9") (= "=") (false "false")) (; ";")) (expression_statement "bVar8 = false;" (assignment_expression "bVar8 = false" (identifier "bVar8") (= "=") (false "false")) (; ";")) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" (identifier "bVar7") (= "=") (false "false")) (; ";")) (expression_statement "bVar6 = false;" (assignment_expression "bVar6 = false" (identifier "bVar6") (= "=") (false "false")) (; ";")) (} "}"))))))))))))) (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";")) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" (identifier "bVar15") (= "=") (false "false")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (if_statement "if (DAT_00088ef4 != 0) goto LAB_0004b97b;" (if "if") (parenthesized_expression "(DAT_00088ef4 != 0)" (( "(") (binary_expression "DAT_00088ef4 != 0" (identifier "DAT_00088ef4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004b97b;" (goto "goto") (statement_identifier "LAB_0004b97b") (; ";"))) (} "}")) (else_clause "else {\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }" (else "else") (compound_statement "{\nLAB_0004b97b:\n    bVar16 = false;\n    bVar15 = false;\n    bVar14 = false;\n    bVar13 = false;\n    bVar12 = false;\n    switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }\n  }" ({ "{") (labeled_statement "LAB_0004b97b:\n    bVar16 = false;" (statement_identifier "LAB_0004b97b") (: ":") (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";"))) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" (identifier "bVar15") (= "=") (false "false")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (switch_statement "switch(param_1) {\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }" (switch "switch") (parenthesized_expression "(param_1)" (( "(") (identifier "param_1") () ")")) (compound_statement "{\n    case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;\n    case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;\n    case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;\n    }" ({ "{") (case_statement "case 0x62:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = true;\n      break;" (case "case") (number_literal "0x62") (: ":") (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";")) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" (identifier "bVar15") (= "=") (false "false")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar12 = true;" (assignment_expression "bVar12 = true" (identifier "bVar12") (= "=") (true "true")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x6c:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = true;\n      bVar13 = false;\n      bVar12 = false;\n      break;" (case "case") (number_literal "0x6c") (: ":") (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";")) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" (identifier "bVar15") (= "=") (false "false")) (; ";")) (expression_statement "bVar14 = true;" (assignment_expression "bVar14 = true" (identifier "bVar14") (= "=") (true "true")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x71:\n      bVar16 = true;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;" (case "case") (number_literal "0x71") (: ":") (expression_statement "bVar16 = true;" (assignment_expression "bVar16 = true" (identifier "bVar16") (= "=") (true "true")) (; ";")) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" (identifier "bVar15") (= "=") (false "false")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x73:\n      bVar16 = false;\n      bVar15 = true;\n      bVar14 = false;\n      bVar13 = false;\n      bVar12 = false;\n      break;" (case "case") (number_literal "0x73") (: ":") (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";")) (expression_statement "bVar15 = true;" (assignment_expression "bVar15 = true" (identifier "bVar15") (= "=") (true "true")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x77:\n      bVar16 = false;\n      bVar15 = false;\n      bVar14 = false;\n      bVar13 = true;\n      bVar12 = false;" (case "case") (number_literal "0x77") (: ":") (expression_statement "bVar16 = false;" (assignment_expression "bVar16 = false" (identifier "bVar16") (= "=") (false "false")) (; ";")) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" (identifier "bVar15") (= "=") (false "false")) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" (identifier "bVar13") (= "=") (true "true")) (; ";")) (expression_statement "bVar12 = false;" (assignment_expression "bVar12 = false" (identifier "bVar12") (= "=") (false "false")) (; ";"))) (} "}"))) (} "}")))) (expression_statement "DAT_000890f8 = 3;" (assignment_expression "DAT_000890f8 = 3" (identifier "DAT_000890f8") (= "=") (number_literal "3")) (; ";")) (expression_statement "puVar32 = (undefined4 *)*DAT_00088f88;" (assignment_expression "puVar32 = (undefined4 *)*DAT_00088f88" (identifier "puVar32") (= "=") (cast_expression "(undefined4 *)*DAT_00088f88" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_00088f88" (* "*") (identifier "DAT_00088f88")))) (; ";")) (if_statement "if (puVar32 < (undefined4 *)DAT_00088f88[1]) {\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }" (if "if") (parenthesized_expression "(puVar32 < (undefined4 *)DAT_00088f88[1])" (( "(") (binary_expression "puVar32 < (undefined4 *)DAT_00088f88[1]" (identifier "puVar32") (< "<") (cast_expression "(undefined4 *)DAT_00088f88[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "DAT_00088f88[1]" (identifier "DAT_00088f88") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n    local_e0 = 0;\n    local_dc = 0;\n    puVar33 = puVar32;\nLAB_0004ba5c:\n    puVar32 = puVar33;\n    local_d8 = -1;\n    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;\n    DAT_000890f8 = 8;\n    iVar19 = FUN_00047980();\n    if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;\n    DAT_000890f8 = 7;\n    if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }\n    if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }\n    goto LAB_0004bea5;\n  }" ({ "{") (expression_statement "local_e0 = 0;" (assignment_expression "local_e0 = 0" (identifier "local_e0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" (identifier "local_dc") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar33 = puVar32;" (assignment_expression "puVar33 = puVar32" (identifier "puVar33") (= "=") (identifier "puVar32")) (; ";")) (labeled_statement "LAB_0004ba5c:\n    puVar32 = puVar33;" (statement_identifier "LAB_0004ba5c") (: ":") (expression_statement "puVar32 = puVar33;" (assignment_expression "puVar32 = puVar33" (identifier "puVar32") (= "=") (identifier "puVar33")) (; ";"))) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" (identifier "local_d8") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;" (if "if") (parenthesized_expression "(DAT_00088ffc != puVar32[1])" (( "(") (binary_expression "DAT_00088ffc != puVar32[1]" (identifier "DAT_00088ffc") (!= "!=") (subscript_expression "puVar32[1]" (identifier "puVar32") ([ "[") (number_literal "1") (] "]"))) () ")")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";"))) (expression_statement "DAT_000890f8 = 8;" (assignment_expression "DAT_000890f8 = 8" (identifier "DAT_000890f8") (= "=") (number_literal "8")) (; ";")) (expression_statement "iVar19 = FUN_00047980();" (assignment_expression "iVar19 = FUN_00047980()" (identifier "iVar19") (= "=") (call_expression "FUN_00047980()" (identifier "FUN_00047980") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))\n    goto LAB_0004ba48;" (if "if") (parenthesized_expression "((iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))" (( "(") (binary_expression "(iVar19 != 3) ||\n       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)))" (parenthesized_expression "(iVar19 != 3)" (( "(") (binary_expression "iVar19 != 3" (identifier "iVar19") (!= "!=") (number_literal "3")) () ")")) (|| "||") (parenthesized_expression "((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)))" (( "(") (parenthesized_expression "(DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))" (( "(") (comma_expression "DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)" (assignment_expression "DAT_000890f8 = 6" (identifier "DAT_000890f8") (= "=") (number_literal "6")) (, ",") (binary_expression "DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0)" (binary_expression "DAT_00088eec != 0" (identifier "DAT_00088eec") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 0x40) != 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + 0xb) & 0x40) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 0x40)" (( "(") (binary_expression "*(byte *)(puVar32 + 0xb) & 0x40" (pointer_expression "*(byte *)(puVar32 + 0xb)" (* "*") (cast_expression "(byte *)(puVar32 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0xb)" (( "(") (binary_expression "puVar32 + 0xb" (identifier "puVar32") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";"))) (expression_statement "DAT_000890f8 = 7;" (assignment_expression "DAT_000890f8 = 7" (identifier "DAT_000890f8") (= "=") (number_literal "7")) (; ";")) (if_statement "if (DAT_00088ef4 == 0) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }" (if "if") (parenthesized_expression "(DAT_00088ef4 == 0)" (( "(") (binary_expression "DAT_00088ef4 == 0" (identifier "DAT_00088ef4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if ((bVar17 & 1) != 0) goto LAB_0004bea5;\n      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;\nLAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;\nLAB_0004bad7:\n      DAT_000890f8 = 4;\n      bVar17 = *(byte *)((int)puVar32 + 0x26);\n      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;\n      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }\n      goto LAB_0004c04c;\n    }" ({ "{") (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2d);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2d)" (identifier "bVar17") (= "=") (pointer_expression "*(byte *)((int)puVar32 + 0x2d)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x2d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x2d)" (( "(") (binary_expression "(int)puVar32 + 0x2d" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x2d")) () ")"))))) (; ";")) (if_statement "if ((bVar17 & 1) != 0) goto LAB_0004bea5;" (if "if") (parenthesized_expression "((bVar17 & 1) != 0)" (( "(") (binary_expression "(bVar17 & 1) != 0" (parenthesized_expression "(bVar17 & 1)" (( "(") (binary_expression "bVar17 & 1" (identifier "bVar17") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004bea5;" (goto "goto") (statement_identifier "LAB_0004bea5") (; ";"))) (if_statement "if (DAT_00088ef0 != 0) goto LAB_0004bfcc;" (if "if") (parenthesized_expression "(DAT_00088ef0 != 0)" (( "(") (binary_expression "DAT_00088ef0 != 0" (identifier "DAT_00088ef0") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004bfcc;" (goto "goto") (statement_identifier "LAB_0004bfcc") (; ";"))) (labeled_statement "LAB_0004bacf:\n      if ((bVar17 & 4) != 0) goto LAB_0004bea5;" (statement_identifier "LAB_0004bacf") (: ":") (if_statement "if ((bVar17 & 4) != 0) goto LAB_0004bea5;" (if "if") (parenthesized_expression "((bVar17 & 4) != 0)" (( "(") (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" (( "(") (binary_expression "bVar17 & 4" (identifier "bVar17") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004bea5;" (goto "goto") (statement_identifier "LAB_0004bea5") (; ";")))) (labeled_statement "LAB_0004bad7:\n      DAT_000890f8 = 4;" (statement_identifier "LAB_0004bad7") (: ":") (expression_statement "DAT_000890f8 = 4;" (assignment_expression "DAT_000890f8 = 4" (identifier "DAT_000890f8") (= "=") (number_literal "4")) (; ";"))) (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x26);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x26)" (identifier "bVar17") (= "=") (pointer_expression "*(byte *)((int)puVar32 + 0x26)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x26)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x26)" (( "(") (binary_expression "(int)puVar32 + 0x26" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x26")) () ")"))))) (; ";")) (if_statement "if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))\n      goto LAB_0004bea5;" (if "if") (parenthesized_expression "((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))" (( "(") (binary_expression "(((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||\n         ((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))))" (parenthesized_expression "(((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11))))))))" (( "(") (binary_expression "((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&\n          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))" (parenthesized_expression "((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25)))" (( "(") (binary_expression "(DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))" (parenthesized_expression "(DAT_00088ef4 == 0)" (( "(") (binary_expression "DAT_00088ef4 == 0" (identifier "DAT_00088ef4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(-1 < *(char *)((int)puVar32 + 0x25))" (( "(") (binary_expression "-1 < *(char *)((int)puVar32 + 0x25)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((int)puVar32 + 0x25)" (* "*") (cast_expression "(char *)((int)puVar32 + 0x25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x25)" (( "(") (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x25")) () ")"))))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))))" (( "(") (parenthesized_expression "(((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11))))))" (( "(") (binary_expression "((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))) ||\n           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))" (parenthesized_expression "((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8))))" (( "(") (binary_expression "(((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||\n            (((bVar17 & 8) != 0 && (bVar8)))" (parenthesized_expression "(((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7))))" (( "(") (binary_expression "((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))" (parenthesized_expression "((bVar17 & 2) != 0 && (bVar6))" (( "(") (binary_expression "(bVar17 & 2) != 0 && (bVar6)" (binary_expression "(bVar17 & 2) != 0" (parenthesized_expression "(bVar17 & 2)" (( "(") (binary_expression "bVar17 & 2" (identifier "bVar17") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar6)" (( "(") (identifier "bVar6") () ")"))) () ")")) (|| "||") (parenthesized_expression "(((bVar17 & 4) != 0 && (bVar7)))" (( "(") (parenthesized_expression "((bVar17 & 4) != 0 && (bVar7))" (( "(") (binary_expression "(bVar17 & 4) != 0 && (bVar7)" (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" (( "(") (binary_expression "bVar17 & 4" (identifier "bVar17") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar7)" (( "(") (identifier "bVar7") () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((bVar17 & 8) != 0 && (bVar8)))" (( "(") (parenthesized_expression "((bVar17 & 8) != 0 && (bVar8))" (( "(") (binary_expression "(bVar17 & 8) != 0 && (bVar8)" (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" (( "(") (binary_expression "bVar17 & 8" (identifier "bVar17") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar8)" (( "(") (identifier "bVar8") () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))))" (( "(") (parenthesized_expression "((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11))))" (( "(") (binary_expression "(((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||\n            (((bVar17 & 0x40) != 0 && (bVar11)))" (parenthesized_expression "(((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10))))" (( "(") (binary_expression "((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))" (parenthesized_expression "((bVar17 & 0x10) != 0 && (bVar9))" (( "(") (binary_expression "(bVar17 & 0x10) != 0 && (bVar9)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" (( "(") (binary_expression "bVar17 & 0x10" (identifier "bVar17") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")"))) () ")")) (|| "||") (parenthesized_expression "(((bVar17 & 0x20) != 0 && (bVar10)))" (( "(") (parenthesized_expression "((bVar17 & 0x20) != 0 && (bVar10))" (( "(") (binary_expression "(bVar17 & 0x20) != 0 && (bVar10)" (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" (( "(") (binary_expression "bVar17 & 0x20" (identifier "bVar17") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar10)" (( "(") (identifier "bVar10") () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((bVar17 & 0x40) != 0 && (bVar11)))" (( "(") (parenthesized_expression "((bVar17 & 0x40) != 0 && (bVar11))" (( "(") (binary_expression "(bVar17 & 0x40) != 0 && (bVar11)" (binary_expression "(bVar17 & 0x40) != 0" (parenthesized_expression "(bVar17 & 0x40)" (( "(") (binary_expression "bVar17 & 0x40" (identifier "bVar17") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))))" (( "(") (parenthesized_expression "(((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))" (( "(") (binary_expression "((bVar17 & 2) != 0 && (bVar12)) ||\n          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))" (parenthesized_expression "((bVar17 & 2) != 0 && (bVar12))" (( "(") (binary_expression "(bVar17 & 2) != 0 && (bVar12)" (binary_expression "(bVar17 & 2) != 0" (parenthesized_expression "(bVar17 & 2)" (( "(") (binary_expression "bVar17 & 2" (identifier "bVar17") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")"))) () ")")) (|| "||") (parenthesized_expression "(((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))))" (( "(") (parenthesized_expression "((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))" (( "(") (binary_expression "(((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||\n           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))" (parenthesized_expression "(((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14))))" (( "(") (binary_expression "((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))" (parenthesized_expression "((bVar17 & 4) != 0 && (bVar13))" (( "(") (binary_expression "(bVar17 & 4) != 0 && (bVar13)" (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" (( "(") (binary_expression "bVar17 & 4" (identifier "bVar17") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")"))) () ")")) (|| "||") (parenthesized_expression "(((bVar17 & 8) != 0 && (bVar14)))" (( "(") (parenthesized_expression "((bVar17 & 8) != 0 && (bVar14))" (( "(") (binary_expression "(bVar17 & 8) != 0 && (bVar14)" (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" (( "(") (binary_expression "bVar17 & 8" (identifier "bVar17") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar14)" (( "(") (identifier "bVar14") () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))))" (( "(") (parenthesized_expression "(((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))" (( "(") (binary_expression "((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16)))" (parenthesized_expression "((bVar17 & 0x10) != 0 && (bVar15))" (( "(") (binary_expression "(bVar17 & 0x10) != 0 && (bVar15)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" (( "(") (binary_expression "bVar17 & 0x10" (identifier "bVar17") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar15)" (( "(") (identifier "bVar15") () ")"))) () ")")) (|| "||") (parenthesized_expression "(((bVar17 & 0x20) != 0 && (bVar16)))" (( "(") (parenthesized_expression "((bVar17 & 0x20) != 0 && (bVar16))" (( "(") (binary_expression "(bVar17 & 0x20) != 0 && (bVar16)" (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" (( "(") (binary_expression "bVar17 & 0x20" (identifier "bVar17") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(bVar16)" (( "(") (identifier "bVar16") () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004bea5;" (goto "goto") (statement_identifier "LAB_0004bea5") (; ";"))) (if_statement "if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }\n      else {\n        iVar19 = 0;\n      }" (if "if") (parenthesized_expression "((*(ushort *)(puVar32 + 9) & 0x1e0) == 0)" (( "(") (binary_expression "(*(ushort *)(puVar32 + 9) & 0x1e0) == 0" (parenthesized_expression "(*(ushort *)(puVar32 + 9) & 0x1e0)" (( "(") (binary_expression "*(ushort *)(puVar32 + 9) & 0x1e0" (pointer_expression "*(ushort *)(puVar32 + 9)" (* "*") (cast_expression "(ushort *)(puVar32 + 9)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 9)" (( "(") (binary_expression "puVar32 + 9" (identifier "puVar32") (+ "+") (number_literal "9")) () ")")))) (& "&") (number_literal "0x1e0")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar19 = DAT_00088ffc;\n        if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }\n      }" ({ "{") (expression_statement "iVar19 = DAT_00088ffc;" (assignment_expression "iVar19 = DAT_00088ffc" (identifier "iVar19") (= "=") (identifier "DAT_00088ffc")) (; ";")) (if_statement "if (DAT_00088ffc != 0) {\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }" (if "if") (parenthesized_expression "(DAT_00088ffc != 0)" (( "(") (binary_expression "DAT_00088ffc != 0" (identifier "DAT_00088ffc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar19 = 0;\n          do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);\n          iVar19 = 0;\n        }" ({ "{") (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          } while (iVar19 != DAT_00088ffc);" (do "do") (compound_statement "{\n            uVar28 = iVar19 + 0xe;\n            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }\n            iVar19 = iVar19 + 1;\n          }" ({ "{") (expression_statement "uVar28 = iVar19 + 0xe;" (assignment_expression "uVar28 = iVar19 + 0xe" (identifier "uVar28") (= "=") (binary_expression "iVar19 + 0xe" (identifier "iVar19") (+ "+") (number_literal "0xe"))) (; ";")) (if_statement "if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }" (if "if") (parenthesized_expression "((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1)))" (( "(") (binary_expression "(((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||\n               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))" (parenthesized_expression "(((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0))" (( "(") (binary_expression "((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||\n                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)" (parenthesized_expression "((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0" (parenthesized_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1)" (( "(") (binary_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1" (pointer_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2)" (* "*") (cast_expression "(byte *)(&DAT_00088fa0 + uVar28 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00088fa0 + uVar28 * 2)" (( "(") (binary_expression "&DAT_00088fa0 + uVar28 * 2" (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0")) (+ "+") (binary_expression "uVar28 * 2" (identifier "uVar28") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0" (parenthesized_expression "(*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4)" (( "(") (binary_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4" (pointer_expression "*(byte *)(&DAT_00088fa0 + uVar28 * 2)" (* "*") (cast_expression "(byte *)(&DAT_00088fa0 + uVar28 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00088fa0 + uVar28 * 2)" (( "(") (binary_expression "&DAT_00088fa0 + uVar28 * 2" (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0")) (+ "+") (binary_expression "uVar28 * 2" (identifier "uVar28") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))" (( "(") (binary_expression "-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1)" (number_literal "-1") (< "<") (pointer_expression "*(char *)(puVar32 + (iVar19 + 6) * 2 + 1)" (* "*") (cast_expression "(char *)(puVar32 + (iVar19 + 6) * 2 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + (iVar19 + 6) * 2 + 1)" (( "(") (binary_expression "puVar32 + (iVar19 + 6) * 2 + 1" (binary_expression "puVar32 + (iVar19 + 6) * 2" (identifier "puVar32") (+ "+") (binary_expression "(iVar19 + 6) * 2" (parenthesized_expression "(iVar19 + 6)" (( "(") (binary_expression "iVar19 + 6" (identifier "iVar19") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n              iVar23 = iVar19 + 6;\n              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }\n              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);\n              if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }\n            }" ({ "{") (expression_statement "iVar23 = iVar19 + 6;" (assignment_expression "iVar23 = iVar19 + 6" (identifier "iVar23") (= "=") (binary_expression "iVar19 + 6" (identifier "iVar19") (+ "+") (number_literal "6"))) (; ";")) (if_statement "if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }" (if "if") (parenthesized_expression "(((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))))" (( "(") (binary_expression "((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||\n                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" (parenthesized_expression "((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))))" (( "(") (binary_expression "(((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||\n                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" (parenthesized_expression "(((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))))))))" (( "(") (binary_expression "((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&\n                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))" (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2) & 1)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2) & 1" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2)" (( "(") (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))" (( "(") (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))))))" (( "(") (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))))" (( "(") (binary_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0))" (( "(") (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20)" (( "(") (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (( "(") (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))" (( "(") (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40)" (( "(") (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40)" (( "(") (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))" (( "(") (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))))" (( "(") (binary_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))" (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))" (( "(") (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (* "*") (cast_expression "(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (( "(") (binary_expression "-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))" (( "(") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))))" (( "(") (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 2)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 4)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" (( "(") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1" (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2)" (( "(") (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) () ")")))) (>> ">>") (number_literal "2")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" (( "(") (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))" (( "(") (binary_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))))" (( "(") (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 8)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))" (( "(") (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))))" (( "(") (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&\n                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 2)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 2" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))" (( "(") (parenthesized_expression "(((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))" (( "(") (binary_expression "((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))))" (( "(") (binary_expression "(((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))))))" (( "(") (binary_expression "((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||\n                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))" (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))))" (( "(") (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))))" (( "(") (binary_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0))" (( "(") (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20)" (( "(") (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (( "(") (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))" (( "(") (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40)" (( "(") (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40)" (( "(") (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" (( "(") (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))" (( "(") (binary_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||\n                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))" (( "(") (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (* "*") (cast_expression "(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (( "(") (binary_expression "-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 2)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))" (( "(") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))))" (( "(") (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 4)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 8)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;\n                if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }\n                uVar28 = 0;\n                goto LAB_0004bc61;\n              }" ({ "{") (labeled_statement "LAB_0004bc40:\n                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;" (statement_identifier "LAB_0004bc40") (: ":") (if_statement "if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;" (if "if") (parenthesized_expression "((*(byte *)(puVar32 + 9) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + 9) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + 9) & 1)" (( "(") (binary_expression "*(byte *)(puVar32 + 9) & 1" (pointer_expression "*(byte *)(puVar32 + 9)" (* "*") (cast_expression "(byte *)(puVar32 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 9)" (( "(") (binary_expression "puVar32 + 9" (identifier "puVar32") (+ "+") (number_literal "9")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004c4e4;" (goto "goto") (statement_identifier "LAB_0004c4e4") (; ";")))) (if_statement "if (DAT_00088ffc != 2) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }" (if "if") (parenthesized_expression "(DAT_00088ffc != 2)" (( "(") (binary_expression "DAT_00088ffc != 2" (identifier "DAT_00088ffc") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);\n                }" ({ "{") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x7e9") (, ",") (string_literal ""operand_size_match"" (" """) (string_content "operand_size_match") (" """)) (, ",") (identifier "uVar28") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" (identifier "uVar28") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0004bc61;" (goto "goto") (statement_identifier "LAB_0004bc61") (; ";")) (} "}"))) (expression_statement "bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);" (assignment_expression "bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (identifier "bVar17") (= "=") (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (if_statement "if ((bVar17 & 0x10) != 0) {\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }" (if "if") (parenthesized_expression "((bVar17 & 0x10) != 0)" (( "(") (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" (( "(") (binary_expression "bVar17 & 0x10" (identifier "bVar17") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;\n                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }\n              }" ({ "{") (if_statement "if (((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;" (if "if") (parenthesized_expression "(((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0))))))" (( "(") (binary_expression "((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||\n                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))" (parenthesized_expression "((((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))" (( "(") (binary_expression "(((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (parenthesized_expression "(((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))))" (( "(") (binary_expression "((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||\n                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))" (parenthesized_expression "((((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))))" (( "(") (binary_expression "(((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||\n                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0))" (( "(") (binary_expression "((bVar17 & 0x20) != 0) &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((bVar17 & 0x20) != 0)" (( "(") (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" (( "(") (binary_expression "bVar17 & 0x20" (identifier "bVar17") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))" (( "(") (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0))" (( "(") (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&\n                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40)" (( "(") (binary_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40)" (( "(") (binary_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))" (( "(") (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)))" (( "(") (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&\n                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (* "*") (cast_expression "(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + uVar28 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + uVar28 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))" (( "(") (binary_expression "-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 2)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))" (( "(") (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0))))" (( "(") (binary_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||\n                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))" (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0))))))" (( "(") (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 4)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 4)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0))))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&\n                      ((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x40)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x40" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))" (( "(") (parenthesized_expression "(DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0))" (( "(") (binary_expression "DAT_000890cc == (int *)0x0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)" (binary_expression "DAT_000890cc == (int *)0x0" (identifier "DAT_000890cc") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 1) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 1)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 1" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 1)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 1" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004bc40;" (goto "goto") (statement_identifier "LAB_0004bc40") (; ";"))) (if_statement "if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }\n                else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" (if "if") (parenthesized_expression "((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))))" (( "(") (binary_expression "(((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" (parenthesized_expression "(((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0))" (( "(") (binary_expression "((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||\n                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1" (binary_expression "*(byte *)(puVar32 + iVar23 * 2) >> 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2)" (( "(") (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) () ")")))) (>> ">>") (number_literal "2")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar32 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + 0x2b)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x2b)" (( "(") (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))" (( "(") (parenthesized_expression "(bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))))" (( "(") (comma_expression "bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3)" (identifier "bVar17") (= "=") (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) (, ",") (binary_expression "(bVar17 & 0x20) == 0 &&\n                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (binary_expression "(bVar17 & 0x20) == 0" (parenthesized_expression "(bVar17 & 0x20)" (( "(") (binary_expression "bVar17 & 0x20" (identifier "bVar17") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))" (( "(") (parenthesized_expression "(((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0))" (( "(") (binary_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (parenthesized_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17))" (( "(") (binary_expression "(bVar17 & 0x40) == 0 && (-1 < (char)bVar17)" (binary_expression "(bVar17 & 0x40) == 0" (parenthesized_expression "(bVar17 & 0x40)" (( "(") (binary_expression "bVar17 & 0x40" (identifier "bVar17") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(-1 < (char)bVar17)" (( "(") (binary_expression "-1 < (char)bVar17" (number_literal "-1") (< "<") (cast_expression "(char)bVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar17"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 2)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;\n                }" ({ "{") (if_statement "if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;" (if "if") (parenthesized_expression "((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))))" (( "(") (binary_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||\n                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "(((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))))" (( "(") (binary_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||\n                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0))" (( "(") (binary_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 8) != 0)" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 8)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 8)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&\n                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x10)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&\n                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[uVar28 * 8] & 0x20)" (( "(") (binary_expression "(&DAT_00088fa4)[uVar28 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004bc40;" (goto "goto") (statement_identifier "LAB_0004bc40") (; ";"))) (} "}")) (else_clause "else {\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" (else "else") (compound_statement "{\n                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];\n                  uVar28 = (uint)bVar17;\n                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;\n                }" ({ "{") (expression_statement "bVar17 = (&DAT_00088fa4)[uVar28 * 8];" (assignment_expression "bVar17 = (&DAT_00088fa4)[uVar28 * 8]" (identifier "bVar17") (= "=") (subscript_expression "(&DAT_00088fa4)[uVar28 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "uVar28 * 8" (identifier "uVar28") (* "*") (number_literal "8")) (] "]"))) (; ";")) (expression_statement "uVar28 = (uint)bVar17;" (assignment_expression "uVar28 = (uint)bVar17" (identifier "uVar28") (= "=") (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17"))) (; ";")) (if_statement "if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n                  goto LAB_0004bc40;" (if "if") (parenthesized_expression "(((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))" (( "(") (binary_expression "((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" (parenthesized_expression "((bVar17 & 8) != 0)" (( "(") (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" (( "(") (binary_expression "bVar17 & 8" (identifier "bVar17") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" (( "(") (parenthesized_expression "((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))" (( "(") (binary_expression "(bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" (( "(") (binary_expression "bVar17 & 0x10" (identifier "bVar17") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((bVar17 & 0x20) != 0)" (( "(") (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" (( "(") (binary_expression "bVar17 & 0x20" (identifier "bVar17") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004bc40;" (goto "goto") (statement_identifier "LAB_0004bc40") (; ";"))) (} "}")))) (} "}"))) (} "}"))) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar19 != DAT_00088ffc)" (( "(") (binary_expression "iVar19 != DAT_00088ffc" (identifier "iVar19") (!= "!=") (identifier "DAT_00088ffc")) () ")")) (; ";")) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        iVar19 = 0;\n      }" (else "else") (compound_statement "{\n        iVar19 = 0;\n      }" ({ "{") (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";")) (} "}")))) (goto_statement "goto LAB_0004c04c;" (goto "goto") (statement_identifier "LAB_0004c04c") (; ";")) (} "}"))) (if_statement "if (-1 < *(char *)(puVar32 + 0xb)) {\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }" (if "if") (parenthesized_expression "(-1 < *(char *)(puVar32 + 0xb))" (( "(") (binary_expression "-1 < *(char *)(puVar32 + 0xb)" (number_literal "-1") (< "<") (pointer_expression "*(char *)(puVar32 + 0xb)" (* "*") (cast_expression "(char *)(puVar32 + 0xb)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0xb)" (( "(") (binary_expression "puVar32 + 0xb" (identifier "puVar32") (+ "+") (number_literal "0xb")) () ")"))))) () ")")) (compound_statement "{\n      bVar17 = *(byte *)((int)puVar32 + 0x2d);\n      if (DAT_00088ef0 == 0) goto LAB_0004bacf;\nLAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;\n    }" ({ "{") (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2d);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2d)" (identifier "bVar17") (= "=") (pointer_expression "*(byte *)((int)puVar32 + 0x2d)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x2d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x2d)" (( "(") (binary_expression "(int)puVar32 + 0x2d" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x2d")) () ")"))))) (; ";")) (if_statement "if (DAT_00088ef0 == 0) goto LAB_0004bacf;" (if "if") (parenthesized_expression "(DAT_00088ef0 == 0)" (( "(") (binary_expression "DAT_00088ef0 == 0" (identifier "DAT_00088ef0") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004bacf;" (goto "goto") (statement_identifier "LAB_0004bacf") (; ";"))) (labeled_statement "LAB_0004bfcc:\n      if ((bVar17 & 2) == 0) goto LAB_0004bad7;" (statement_identifier "LAB_0004bfcc") (: ":") (if_statement "if ((bVar17 & 2) == 0) goto LAB_0004bad7;" (if "if") (parenthesized_expression "((bVar17 & 2) == 0)" (( "(") (binary_expression "(bVar17 & 2) == 0" (parenthesized_expression "(bVar17 & 2)" (( "(") (binary_expression "bVar17 & 2" (identifier "bVar17") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004bad7;" (goto "goto") (statement_identifier "LAB_0004bad7") (; ";")))) (} "}"))) (goto_statement "goto LAB_0004bea5;" (goto "goto") (statement_identifier "LAB_0004bea5") (; ";")) (} "}"))) (if_statement "if (puVar32 == (undefined4 *)DAT_00088f88[1]) {\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }" (if "if") (parenthesized_expression "(puVar32 == (undefined4 *)DAT_00088f88[1])" (( "(") (binary_expression "puVar32 == (undefined4 *)DAT_00088f88[1]" (identifier "puVar32") (== "==") (cast_expression "(undefined4 *)DAT_00088f88[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "DAT_00088f88[1]" (identifier "DAT_00088f88") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\nLAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";\n    goto LAB_0004ca20;\n  }" ({ "{") (labeled_statement "LAB_0004cbaa:\n    pcVar26 = "number of operands mismatch";" (statement_identifier "LAB_0004cbaa") (: ":") (expression_statement "pcVar26 = "number of operands mismatch";" (assignment_expression "pcVar26 = "number of operands mismatch"" (identifier "pcVar26") (= "=") (string_literal ""number of operands mismatch"" (" """) (string_content "number of operands mismatch") (" """))) (; ";"))) (goto_statement "goto LAB_0004ca20;" (goto "goto") (statement_identifier "LAB_0004ca20") (; ";")) (} "}"))) (if_statement "if (DAT_00088ec0 != 0) {\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }" (if "if") (parenthesized_expression "(DAT_00088ec0 != 0)" (( "(") (binary_expression "DAT_00088ec0 != 0" (identifier "DAT_00088ec0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    puVar33 = puVar32;\n    puVar21 = &DAT_00088fa0;\n    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }\n    return puVar32;\n  }" ({ "{") (expression_statement "puVar33 = puVar32;" (assignment_expression "puVar33 = puVar32" (identifier "puVar33") (= "=") (identifier "puVar32")) (; ";")) (expression_statement "puVar21 = &DAT_00088fa0;" (assignment_expression "puVar21 = &DAT_00088fa0" (identifier "puVar21") (= "=") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (; ";")) (for_statement "for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }" (for "for") (( "(") (assignment_expression "iVar19 = 0x16" (identifier "iVar19") (= "=") (number_literal "0x16")) (; ";") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      *puVar21 = *puVar33;\n      puVar33 = puVar33 + 1;\n      puVar21 = puVar21 + 1;\n    }" ({ "{") (expression_statement "*puVar21 = *puVar33;" (assignment_expression "*puVar21 = *puVar33" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (= "=") (pointer_expression "*puVar33" (* "*") (identifier "puVar33"))) (; ";")) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" (identifier "puVar33") (= "=") (binary_expression "puVar33 + 1" (identifier "puVar33") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar21 = puVar21 + 1;" (assignment_expression "puVar21 = puVar21 + 1" (identifier "puVar21") (= "=") (binary_expression "puVar21 + 1" (identifier "puVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (return_statement "return puVar32;" (return "return") (identifier "puVar32") (; ";")) (} "}"))) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" (identifier "local_d8") (= "=") (number_literal "-1")) (; ";")) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" (identifier "local_dc") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0004bed8;" (goto "goto") (statement_identifier "LAB_0004bed8") (; ";")) (labeled_statement "LAB_0004bc61:\n  if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }" (statement_identifier "LAB_0004bc61") (: ":") (if_statement "if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }" (if "if") (parenthesized_expression "(((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0))" (( "(") (binary_expression "((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||\n     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)" (parenthesized_expression "((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0" (parenthesized_expression "(*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1)" (( "(") (binary_expression "*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1" (pointer_expression "*(byte *)(puVar32 + (uVar28 + 6) * 2)" (* "*") (cast_expression "(byte *)(puVar32 + (uVar28 + 6) * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + (uVar28 + 6) * 2)" (( "(") (binary_expression "puVar32 + (uVar28 + 6) * 2" (identifier "puVar32") (+ "+") (binary_expression "(uVar28 + 6) * 2" (parenthesized_expression "(uVar28 + 6)" (( "(") (binary_expression "uVar28 + 6" (identifier "uVar28") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2)" (* "*") (cast_expression "(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + (uVar28 + 6) * 8 + 2)" (( "(") (binary_expression "(int)puVar32 + (uVar28 + 6) * 8 + 2" (binary_expression "(int)puVar32 + (uVar28 + 6) * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "(uVar28 + 6) * 8" (parenthesized_expression "(uVar28 + 6)" (( "(") (binary_expression "uVar28 + 6" (identifier "uVar28") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    uVar20 = uVar28 ^ 1;\n    iVar19 = uVar20 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;\n  }" ({ "{") (expression_statement "uVar20 = uVar28 ^ 1;" (assignment_expression "uVar20 = uVar28 ^ 1" (identifier "uVar20") (= "=") (binary_expression "uVar28 ^ 1" (identifier "uVar28") (^ "^") (number_literal "1"))) (; ";")) (expression_statement "iVar19 = uVar20 + 0xe;" (assignment_expression "iVar19 = uVar20 + 0xe" (identifier "iVar19") (= "=") (binary_expression "uVar20 + 0xe" (identifier "uVar20") (+ "+") (number_literal "0xe"))) (; ";")) (if_statement "if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;" (if "if") (parenthesized_expression "((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0))))))" (( "(") (binary_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||\n       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))" (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)))))" (( "(") (binary_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||\n        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))" (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0))))" (( "(") (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||\n         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0))" (( "(") (binary_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20)" (( "(") (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + (uVar20 + 6) * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + (uVar20 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (uVar20 + 6) * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "(uVar20 + 6) * 8" (parenthesized_expression "(uVar20 + 6)" (( "(") (binary_expression "uVar20 + 6" (identifier "uVar20") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))" (( "(") (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0))" (( "(") (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40)" (( "(") (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40)" (( "(") (binary_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + (uVar20 + 6) * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + (uVar20 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (uVar20 + 6) * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "(uVar20 + 6) * 8" (parenthesized_expression "(uVar20 + 6)" (( "(") (binary_expression "uVar20 + 6" (identifier "uVar20") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))" (( "(") (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)))" (( "(") (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (* "*") (cast_expression "(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))" (( "(") (binary_expression "-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" (* "*") (cast_expression "(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + (uVar20 + 6) * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + (uVar20 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (uVar20 + 6) * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "(uVar20 + 6) * 8" (parenthesized_expression "(uVar20 + 6)" (( "(") (binary_expression "uVar20 + 6" (identifier "uVar20") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))" (( "(") (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0))))" (( "(") (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||\n        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 2)" (( "(") (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2)" (( "(") (binary_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + (uVar20 + 6) * 2 + 1)" (( "(") (binary_expression "puVar32 + (uVar20 + 6) * 2 + 1" (binary_expression "puVar32 + (uVar20 + 6) * 2" (identifier "puVar32") (+ "+") (binary_expression "(uVar20 + 6) * 2" (parenthesized_expression "(uVar20 + 6)" (( "(") (binary_expression "uVar20 + 6" (identifier "uVar20") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 4)" (( "(") (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4)" (( "(") (binary_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + (uVar20 + 6) * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + (uVar20 + 6) * 2 + 1)" (( "(") (binary_expression "puVar32 + (uVar20 + 6) * 2 + 1" (binary_expression "puVar32 + (uVar20 + 6) * 2" (identifier "puVar32") (+ "+") (binary_expression "(uVar20 + 6) * 2" (parenthesized_expression "(uVar20 + 6)" (( "(") (binary_expression "uVar20 + 6" (identifier "uVar20") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004c4e4;" (goto "goto") (statement_identifier "LAB_0004c4e4") (; ";"))) (} "}")))) (if_statement "if ((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0) {\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }" (if "if") (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10)" (( "(") (binary_expression "*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + (uVar28 + 0xe) * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "(uVar28 + 0xe) * 8" (parenthesized_expression "(uVar28 + 0xe)" (( "(") (binary_expression "uVar28 + 0xe" (identifier "uVar28") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_d4 = uVar28 ^ 1;\n    iVar19 = local_d4 + 0xe;\n    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;\n    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }\n  }" ({ "{") (expression_statement "local_d4 = uVar28 ^ 1;" (assignment_expression "local_d4 = uVar28 ^ 1" (identifier "local_d4") (= "=") (binary_expression "uVar28 ^ 1" (identifier "uVar28") (^ "^") (number_literal "1"))) (; ";")) (expression_statement "iVar19 = local_d4 + 0xe;" (assignment_expression "iVar19 = local_d4 + 0xe" (identifier "iVar19") (= "=") (binary_expression "local_d4 + 0xe" (identifier "local_d4") (+ "+") (number_literal "0xe"))) (; ";")) (if_statement "if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;" (if "if") (parenthesized_expression "((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0))))" (( "(") (binary_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))) ||\n       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))" (parenthesized_expression "(((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))))))))" (( "(") (binary_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||\n        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))" (parenthesized_expression "((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0))))" (( "(") (binary_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||\n         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))" (parenthesized_expression "(((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0))" (( "(") (binary_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&\n          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20)" (( "(") (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + (local_d4 + 6) * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + (local_d4 + 6) * 8 + 3" (binary_expression "(int)puVar32 + (local_d4 + 6) * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "(local_d4 + 6) * 8" (parenthesized_expression "(local_d4 + 6)" (( "(") (binary_expression "local_d4 + 6" (identifier "local_d4") (+ "+") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))" (( "(") (parenthesized_expression "(local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0))" (( "(") (comma_expression "local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)" (assignment_expression "local_d4 = local_d4 + 6" (identifier "local_d4") (= "=") (binary_expression "local_d4 + 6" (identifier "local_d4") (+ "+") (number_literal "6"))) (, ",") (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&\n          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)" (binary_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40)" (( "(") (binary_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40)" (( "(") (binary_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + local_d4 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + local_d4 * 8 + 3" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "local_d4 * 8" (identifier "local_d4") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))))" (( "(") (parenthesized_expression "((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))))))" (( "(") (binary_expression "(*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))" (parenthesized_expression "(*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3)))" (( "(") (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&\n          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))" (binary_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0'" (pointer_expression "*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (* "*") (cast_expression "(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + iVar19 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + iVar19 * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))" (( "(") (binary_expression "-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((int)puVar32 + local_d4 * 8 + 3)" (* "*") (cast_expression "(char *)((int)puVar32 + local_d4 * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + local_d4 * 8 + 3" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "local_d4 * 8" (identifier "local_d4") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))))" (( "(") (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))))" (( "(") (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||\n          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 2)" (( "(") (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 2" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2)" (( "(") (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" (( "(") (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" (identifier "puVar32") (+ "+") (binary_expression "local_d4 * 2" (identifier "local_d4") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )))" (( "(") (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           ))" (( "(") (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||\n           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&\n            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 4) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 4)" (( "(") (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 4" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 4)" (( "(") (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 4" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" (( "(") (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" (identifier "puVar32") (+ "+") (binary_expression "local_d4 * 2" (identifier "local_d4") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))\n           )" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))" (( "(") (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&\n            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)))" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x40)" (( "(") (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 0x40" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)))" (( "(") (parenthesized_expression "(DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))" (( "(") (binary_expression "DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)" (binary_expression "DAT_000890cc == (int *)0x0" (identifier "DAT_000890cc") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40)" (( "(") (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" (( "(") (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" (identifier "puVar32") (+ "+") (binary_expression "local_d4 * 2" (identifier "local_d4") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&\n        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 1) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 1)" (( "(") (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 1" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 1)" (( "(") (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 1" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" (( "(") (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" (identifier "puVar32") (+ "+") (binary_expression "local_d4 * 2" (identifier "local_d4") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004c4e4;" (goto "goto") (statement_identifier "LAB_0004c4e4") (; ";"))) (if_statement "if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }\n    else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" (if "if") (parenthesized_expression "((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))))))" (( "(") (binary_expression "(((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||\n       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))" (parenthesized_expression "(((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0))" (( "(") (binary_expression "((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||\n        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + local_d4 * 2) & 4) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2) & 4)" (( "(") (binary_expression "*(byte *)(puVar32 + local_d4 * 2) & 4" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2)" (* "*") (cast_expression "(byte *)(puVar32 + local_d4 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + local_d4 * 2)" (( "(") (binary_expression "puVar32 + local_d4 * 2" (identifier "puVar32") (+ "+") (binary_expression "local_d4 * 2" (identifier "local_d4") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)puVar32 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)puVar32 + 0x2b)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x2b)" (( "(") (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))" (( "(") (parenthesized_expression "(bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))))" (( "(") (comma_expression "bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3)" (identifier "bVar17") (= "=") (pointer_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + local_d4 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + local_d4 * 8 + 3" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "local_d4 * 8" (identifier "local_d4") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) (, ",") (binary_expression "(bVar17 & 0x20) == 0 &&\n        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))" (binary_expression "(bVar17 & 0x20) == 0" (parenthesized_expression "(bVar17 & 0x20)" (( "(") (binary_expression "bVar17 & 0x20" (identifier "bVar17") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))" (( "(") (parenthesized_expression "(((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0))" (( "(") (binary_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&\n         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" (parenthesized_expression "((bVar17 & 0x40) == 0 && (-1 < (char)bVar17))" (( "(") (binary_expression "(bVar17 & 0x40) == 0 && (-1 < (char)bVar17)" (binary_expression "(bVar17 & 0x40) == 0" (parenthesized_expression "(bVar17 & 0x40)" (( "(") (binary_expression "bVar17 & 0x40" (identifier "bVar17") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(-1 < (char)bVar17)" (( "(") (binary_expression "-1 < (char)bVar17" (number_literal "-1") (< "<") (cast_expression "(char)bVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar17"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 2)" (( "(") (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 2" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" (( "(") (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" (identifier "puVar32") (+ "+") (binary_expression "local_d4 * 2" (identifier "local_d4") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;\n    }" ({ "{") (if_statement "if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;" (if "if") (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0))))))" (( "(") (binary_expression "((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||\n         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))" (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0))" (( "(") (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&\n          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 8) != 0)" (( "(") (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 8) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 8)" (( "(") (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 8" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 8)" (( "(") (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 8" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" (( "(") (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" (identifier "puVar32") (+ "+") (binary_expression "local_d4 * 2" (identifier "local_d4") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))" (( "(") (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0))))" (( "(") (binary_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||\n          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))" (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x10)" (( "(") (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 0x10" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10)" (( "(") (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" (( "(") (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" (identifier "puVar32") (+ "+") (binary_expression "local_d4 * 2" (identifier "local_d4") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))" (( "(") (parenthesized_expression "(((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0))" (( "(") (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&\n           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)" (binary_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0" (parenthesized_expression "((&DAT_00088fa4)[iVar19 * 8] & 0x20)" (( "(") (binary_expression "(&DAT_00088fa4)[iVar19 * 8] & 0x20" (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20)" (( "(") (binary_expression "*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20" (pointer_expression "*(byte *)(puVar32 + local_d4 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + local_d4 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + local_d4 * 2 + 1)" (( "(") (binary_expression "puVar32 + local_d4 * 2 + 1" (binary_expression "puVar32 + local_d4 * 2" (identifier "puVar32") (+ "+") (binary_expression "local_d4 * 2" (identifier "local_d4") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004c4e4;" (goto "goto") (statement_identifier "LAB_0004c4e4") (; ";"))) (} "}")) (else_clause "else {\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" (else "else") (compound_statement "{\n      bVar17 = (&DAT_00088fa4)[iVar19 * 8];\n      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;\n    }" ({ "{") (expression_statement "bVar17 = (&DAT_00088fa4)[iVar19 * 8];" (assignment_expression "bVar17 = (&DAT_00088fa4)[iVar19 * 8]" (identifier "bVar17") (= "=") (subscript_expression "(&DAT_00088fa4)[iVar19 * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "iVar19 * 8" (identifier "iVar19") (* "*") (number_literal "8")) (] "]"))) (; ";")) (if_statement "if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))\n      goto LAB_0004c4e4;" (if "if") (parenthesized_expression "(((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))" (( "(") (binary_expression "((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" (parenthesized_expression "((bVar17 & 8) != 0)" (( "(") (binary_expression "(bVar17 & 8) != 0" (parenthesized_expression "(bVar17 & 8)" (( "(") (binary_expression "bVar17 & 8" (identifier "bVar17") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)))" (( "(") (parenthesized_expression "((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))" (( "(") (binary_expression "(bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0)" (binary_expression "(bVar17 & 0x10) != 0" (parenthesized_expression "(bVar17 & 0x10)" (( "(") (binary_expression "bVar17 & 0x10" (identifier "bVar17") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((bVar17 & 0x20) != 0)" (( "(") (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" (( "(") (binary_expression "bVar17 & 0x20" (identifier "bVar17") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004c4e4;" (goto "goto") (statement_identifier "LAB_0004c4e4") (; ";"))) (} "}")))) (} "}"))) (if_statement "if (uVar28 == 1) goto code_r0x0004be14;" (if "if") (parenthesized_expression "(uVar28 == 1)" (( "(") (binary_expression "uVar28 == 1" (identifier "uVar28") (== "==") (number_literal "1")) () ")")) (goto_statement "goto code_r0x0004be14;" (goto "goto") (statement_identifier "code_r0x0004be14") (; ";"))) (expression_statement "uVar28 = 1;" (assignment_expression "uVar28 = 1" (identifier "uVar28") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0004bc61;" (goto "goto") (statement_identifier "LAB_0004bc61") (; ";")) (labeled_statement "LAB_0004c4e4:\n  DAT_000890f8 = 0;" (statement_identifier "LAB_0004c4e4") (: ":") (expression_statement "DAT_000890f8 = 0;" (assignment_expression "DAT_000890f8 = 0" (identifier "DAT_000890f8") (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" (identifier "local_d8") (= "=") (number_literal "-1")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (labeled_statement "code_r0x0004be14:\n  iVar19 = 0;" (statement_identifier "code_r0x0004be14") (: ":") (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_0004c04c:\n  do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);" (statement_identifier "LAB_0004c04c") (: ":") (do_statement "do {\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  } while (iVar19 != 5);" (do "do") (compound_statement "{\n    uVar28 = puVar32[iVar19 * 2 + 0xd];\n    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];\n    (&local_40)[iVar19 * 2] = uVar28;\n    iVar19 = iVar19 + 1;\n  }" ({ "{") (expression_statement "uVar28 = puVar32[iVar19 * 2 + 0xd];" (assignment_expression "uVar28 = puVar32[iVar19 * 2 + 0xd]" (identifier "uVar28") (= "=") (subscript_expression "puVar32[iVar19 * 2 + 0xd]" (identifier "puVar32") ([ "[") (binary_expression "iVar19 * 2 + 0xd" (binary_expression "iVar19 * 2" (identifier "iVar19") (* "*") (number_literal "2")) (+ "+") (number_literal "0xd")) (] "]"))) (; ";")) (expression_statement "(&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];" (assignment_expression "(&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc]" (subscript_expression "(&local_44)[iVar19 * 2]" (parenthesized_expression "(&local_44)" (( "(") (pointer_expression "&local_44" (& "&") (identifier "local_44")) () ")")) ([ "[") (binary_expression "iVar19 * 2" (identifier "iVar19") (* "*") (number_literal "2")) (] "]")) (= "=") (subscript_expression "puVar32[iVar19 * 2 + 0xc]" (identifier "puVar32") ([ "[") (binary_expression "iVar19 * 2 + 0xc" (binary_expression "iVar19 * 2" (identifier "iVar19") (* "*") (number_literal "2")) (+ "+") (number_literal "0xc")) (] "]"))) (; ";")) (expression_statement "(&local_40)[iVar19 * 2] = uVar28;" (assignment_expression "(&local_40)[iVar19 * 2] = uVar28" (subscript_expression "(&local_40)[iVar19 * 2]" (parenthesized_expression "(&local_40)" (( "(") (pointer_expression "&local_40" (& "&") (identifier "local_40")) () ")")) ([ "[") (binary_expression "iVar19 * 2" (identifier "iVar19") (* "*") (number_literal "2")) (] "]")) (= "=") (identifier "uVar28")) (; ";")) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar19 != 5)" (( "(") (binary_expression "iVar19 != 5" (identifier "iVar19") (!= "!=") (number_literal "5")) () ")")) (; ";"))) (if_statement "if (DAT_00088ff8 == 'q') {\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }\n  else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }" (if "if") (parenthesized_expression "(DAT_00088ff8 == 'q')" (( "(") (binary_expression "DAT_00088ff8 == 'q'" (identifier "DAT_00088ff8") (== "==") (char_literal "'q'" (' "'") (character "q") (' "'"))) () ")")) (compound_statement "{\n    if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }\nLAB_0004c390:\n    local_d4 = puVar32[1];\n  }" ({ "{") (if_statement "if (DAT_00088f0c != 2) {\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(DAT_00088f0c != 2)" (( "(") (binary_expression "DAT_00088f0c != 2" (identifier "DAT_00088f0c") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }\n    }" ({ "{") (if_statement "if (DAT_00088ef4 == 0) {\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }\n      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" (if "if") (parenthesized_expression "(DAT_00088ef4 == 0)" (( "(") (binary_expression "DAT_00088ef4 == 0" (identifier "DAT_00088ef4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;\n      }" ({ "{") (if_statement "if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;" (if "if") (parenthesized_expression "((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2))" (( "(") (binary_expression "(*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)" (parenthesized_expression "(*(char *)*puVar32 != 'f')" (( "(") (binary_expression "*(char *)*puVar32 != 'f'" (pointer_expression "*(char *)*puVar32" (* "*") (cast_expression "(char *)*puVar32" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar32" (* "*") (identifier "puVar32")))) (!= "!=") (char_literal "'f'" (' "'") (character "f") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 != 2)" (( "(") (comma_expression "iVar19 = FUN_00045bd0(), iVar19 != 2" (assignment_expression "iVar19 = FUN_00045bd0()" (identifier "iVar19") (= "=") (call_expression "FUN_00045bd0()" (identifier "FUN_00045bd0") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar19 != 2" (identifier "iVar19") (!= "!=") (number_literal "2"))) () ")"))) () ")")) (goto_statement "goto LAB_0004be5a;" (goto "goto") (statement_identifier "LAB_0004be5a") (; ";"))) (} "}")) (else_clause "else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" (else "else") (if_statement "if ((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" (if "if") (parenthesized_expression "((-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0))))" (( "(") (binary_expression "(-1 < *(char *)((int)puVar32 + 0x25)) &&\n              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))" (parenthesized_expression "(-1 < *(char *)((int)puVar32 + 0x25))" (( "(") (binary_expression "-1 < *(char *)((int)puVar32 + 0x25)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((int)puVar32 + 0x25)" (* "*") (cast_expression "(char *)((int)puVar32 + 0x25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x25)" (( "(") (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x25")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))" (( "(") (parenthesized_expression "(*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0))" (( "(") (binary_expression "*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)" (binary_expression "*(char *)*puVar32 != 'f'" (pointer_expression "*(char *)*puVar32" (* "*") (cast_expression "(char *)*puVar32" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar32" (* "*") (identifier "puVar32")))) (!= "!=") (char_literal "'f'" (' "'") (character "f") (' "'"))) (|| "||") (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 == 0)" (( "(") (comma_expression "iVar19 = FUN_00045bd0(), iVar19 == 0" (assignment_expression "iVar19 = FUN_00045bd0()" (identifier "iVar19") (= "=") (call_expression "FUN_00045bd0()" (identifier "FUN_00045bd0") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }\n        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }\n      }" ({ "{") (labeled_statement "LAB_0004be5a:\n        if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }" (statement_identifier "LAB_0004be5a") (: ":") (if_statement "if ((local_44 & 6) != 0) {\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }" (if "if") (parenthesized_expression "((local_44 & 6) != 0)" (( "(") (binary_expression "(local_44 & 6) != 0" (parenthesized_expression "(local_44 & 6)" (( "(") (binary_expression "local_44 & 6" (identifier "local_44") (& "&") (number_literal "6")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_d4 = puVar32[1];\n          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;\n        }" ({ "{") (expression_statement "local_d4 = puVar32[1];" (assignment_expression "local_d4 = puVar32[1]" (identifier "local_d4") (= "=") (subscript_expression "puVar32[1]" (identifier "puVar32") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;" (if "if") (parenthesized_expression "(((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0))" (( "(") (binary_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||\n             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)" (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2)" (( "(") (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" (* "*") (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" (( "(") (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" (& "&") (identifier "local_44")) (+ "+") (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(1 < local_d4)" (( "(") (binary_expression "1 < local_d4" (number_literal "1") (< "<") (identifier "local_d4")) () ")"))) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4)" (( "(") (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" (* "*") (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" (( "(") (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" (& "&") (identifier "local_44")) (+ "+") (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(1 < local_d4)" (( "(") (binary_expression "1 < local_d4" (number_literal "1") (< "<") (identifier "local_d4")) () ")"))) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0004c397;" (goto "goto") (statement_identifier "LAB_0004c397") (; ";"))) (} "}")))) (if_statement "if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }" (if "if") (parenthesized_expression "((puVar32[2] != 0xfc7) || (puVar32[3] != 1))" (( "(") (binary_expression "(puVar32[2] != 0xfc7) || (puVar32[3] != 1)" (parenthesized_expression "(puVar32[2] != 0xfc7)" (( "(") (binary_expression "puVar32[2] != 0xfc7" (subscript_expression "puVar32[2]" (identifier "puVar32") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0xfc7")) () ")")) (|| "||") (parenthesized_expression "(puVar32[3] != 1)" (( "(") (binary_expression "puVar32[3] != 1" (subscript_expression "puVar32[3]" (identifier "puVar32") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\nLAB_0004bea5:\n          local_d8 = -1;\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          puVar33 = puVar32 + 0x16;\n          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;\n          goto LAB_0004ba5c;\n        }" ({ "{") (labeled_statement "LAB_0004bea5:\n          local_d8 = -1;" (statement_identifier "LAB_0004bea5") (: ":") (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" (identifier "local_d8") (= "=") (number_literal "-1")) (; ";"))) (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)DAT_00088f88[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "DAT_00088f88[1]" (identifier "DAT_00088f88") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar33 = puVar32 + 0x16;" (assignment_expression "puVar33 = puVar32 + 0x16" (identifier "puVar33") (= "=") (binary_expression "puVar32 + 0x16" (identifier "puVar32") (+ "+") (number_literal "0x16"))) (; ";")) (if_statement "if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;" (if "if") (parenthesized_expression "(puVar21 <= puVar32 + 0x16)" (( "(") (binary_expression "puVar21 <= puVar32 + 0x16" (identifier "puVar21") (<= "<=") (binary_expression "puVar32 + 0x16" (identifier "puVar32") (+ "+") (number_literal "0x16"))) () ")")) (goto_statement "goto LAB_0004bec0;" (goto "goto") (statement_identifier "LAB_0004bec0") (; ";"))) (goto_statement "goto LAB_0004ba5c;" (goto "goto") (statement_identifier "LAB_0004ba5c") (; ";")) (} "}"))) (} "}"))))) (} "}"))) (labeled_statement "LAB_0004c390:\n    local_d4 = puVar32[1];" (statement_identifier "LAB_0004c390") (: ":") (expression_statement "local_d4 = puVar32[1];" (assignment_expression "local_d4 = puVar32[1]" (identifier "local_d4") (= "=") (subscript_expression "puVar32[1]" (identifier "puVar32") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (} "}")) (else_clause "else {\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }" (else "else") (compound_statement "{\n    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;\n    if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;\n    if ((local_44 & 6) == 0) goto LAB_0004bea5;\n    local_d4 = puVar32[1];\n    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;\n  }" ({ "{") (if_statement "if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;" (if "if") (parenthesized_expression "((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0))" (( "(") (binary_expression "(DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)" (parenthesized_expression "(DAT_00088ff8 != 'l')" (( "(") (binary_expression "DAT_00088ff8 != 'l'" (identifier "DAT_00088ff8") (!= "!=") (char_literal "'l'" (' "'") (character "l") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((DAT_0008053c & 4) != 0)" (( "(") (binary_expression "(DAT_0008053c & 4) != 0" (parenthesized_expression "(DAT_0008053c & 4)" (( "(") (binary_expression "DAT_0008053c & 4" (identifier "DAT_0008053c") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0004c390;" (goto "goto") (statement_identifier "LAB_0004c390") (; ";"))) (if_statement "if (DAT_00088ef4 == 0) {\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }\n    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;" (if "if") (parenthesized_expression "(DAT_00088ef4 == 0)" (( "(") (binary_expression "DAT_00088ef4 == 0" (identifier "DAT_00088ef4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;\n    }" ({ "{") (if_statement "if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;" (if "if") (parenthesized_expression "((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2))" (( "(") (binary_expression "(*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)" (parenthesized_expression "(*(char *)*puVar32 == 'f')" (( "(") (binary_expression "*(char *)*puVar32 == 'f'" (pointer_expression "*(char *)*puVar32" (* "*") (cast_expression "(char *)*puVar32" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar32" (* "*") (identifier "puVar32")))) (== "==") (char_literal "'f'" (' "'") (character "f") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 == 2)" (( "(") (comma_expression "iVar19 = FUN_00045bd0(), iVar19 == 2" (assignment_expression "iVar19 = FUN_00045bd0()" (identifier "iVar19") (= "=") (call_expression "FUN_00045bd0()" (identifier "FUN_00045bd0") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar19 == 2" (identifier "iVar19") (== "==") (number_literal "2"))) () ")"))) () ")")) (goto_statement "goto LAB_0004c390;" (goto "goto") (statement_identifier "LAB_0004c390") (; ";"))) (} "}")) (else_clause "else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;" (else "else") (if_statement "if ((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))\n    goto LAB_0004c390;" (if "if") (parenthesized_expression "((*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))" (( "(") (binary_expression "(*(char *)((int)puVar32 + 0x25) < '\0') ||\n            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0)))" (parenthesized_expression "(*(char *)((int)puVar32 + 0x25) < '\0')" (( "(") (binary_expression "*(char *)((int)puVar32 + 0x25) < '\0'" (pointer_expression "*(char *)((int)puVar32 + 0x25)" (* "*") (cast_expression "(char *)((int)puVar32 + 0x25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x25)" (( "(") (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x25")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0)))" (( "(") (parenthesized_expression "(*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))" (( "(") (binary_expression "*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0)" (binary_expression "*(char *)*puVar32 == 'f'" (pointer_expression "*(char *)*puVar32" (* "*") (cast_expression "(char *)*puVar32" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar32" (* "*") (identifier "puVar32")))) (== "==") (char_literal "'f'" (' "'") (character "f") (' "'"))) (&& "&&") (parenthesized_expression "(iVar19 = FUN_00045bd0(), iVar19 != 0)" (( "(") (comma_expression "iVar19 = FUN_00045bd0(), iVar19 != 0" (assignment_expression "iVar19 = FUN_00045bd0()" (identifier "iVar19") (= "=") (call_expression "FUN_00045bd0()" (identifier "FUN_00045bd0") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004c390;" (goto "goto") (statement_identifier "LAB_0004c390") (; ";"))))) (if_statement "if ((local_44 & 6) == 0) goto LAB_0004bea5;" (if "if") (parenthesized_expression "((local_44 & 6) == 0)" (( "(") (binary_expression "(local_44 & 6) == 0" (parenthesized_expression "(local_44 & 6)" (( "(") (binary_expression "local_44 & 6" (identifier "local_44") (& "&") (number_literal "6")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004bea5;" (goto "goto") (statement_identifier "LAB_0004bea5") (; ";"))) (expression_statement "local_d4 = puVar32[1];" (assignment_expression "local_d4 = puVar32[1]" (identifier "local_d4") (= "=") (subscript_expression "puVar32[1]" (identifier "puVar32") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;" (if "if") (parenthesized_expression "(((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0))" (( "(") (binary_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&\n       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)" (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2)" (( "(") (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" (* "*") (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" (( "(") (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" (& "&") (identifier "local_44")) (+ "+") (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(1 < local_d4)" (( "(") (binary_expression "1 < local_d4" (number_literal "1") (< "<") (identifier "local_d4")) () ")"))) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0" (parenthesized_expression "(*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4)" (( "(") (binary_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4" (pointer_expression "*(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" (* "*") (cast_expression "(byte *)(&local_44 + (uint)(1 < local_d4) * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&local_44 + (uint)(1 < local_d4) * 2)" (( "(") (binary_expression "&local_44 + (uint)(1 < local_d4) * 2" (pointer_expression "&local_44" (& "&") (identifier "local_44")) (+ "+") (binary_expression "(uint)(1 < local_d4) * 2" (call_expression "(uint)(1 < local_d4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(1 < local_d4)" (( "(") (binary_expression "1 < local_d4" (number_literal "1") (< "<") (identifier "local_d4")) () ")"))) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0004bea5;" (goto "goto") (statement_identifier "LAB_0004bea5") (; ";"))) (} "}")))) (labeled_statement "LAB_0004c397:\n  if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }" (statement_identifier "LAB_0004c397") (: ":") (if_statement "if (local_d4 == 0) {\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }" (if "if") (parenthesized_expression "(local_d4 == 0)" (( "(") (binary_expression "local_d4 == 0" (identifier "local_d4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_d8 = -1;\n    puVar21 = (undefined4 *)DAT_00088f88[1];\n    goto LAB_0004bec6;\n  }" ({ "{") (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" (identifier "local_d8") (= "=") (number_literal "-1")) (; ";")) (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)DAT_00088f88[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "DAT_00088f88[1]" (identifier "DAT_00088f88") ([ "[") (number_literal "1") (] "]")))) (; ";")) (goto_statement "goto LAB_0004bec6;" (goto "goto") (statement_identifier "LAB_0004bec6") (; ";")) (} "}")))) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" (identifier "local_d8") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (DAT_00089092 != '\0') {\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }" (if "if") (parenthesized_expression "(DAT_00089092 != '\0')" (( "(") (binary_expression "DAT_00089092 != '\0'" (identifier "DAT_00089092") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }\n    local_d8 = -1;\n  }" ({ "{") (if_statement "if (DAT_00088f0c == 1) {\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }\n    else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }" (if "if") (parenthesized_expression "(DAT_00088f0c == 1)" (( "(") (binary_expression "DAT_00088f0c == 1" (identifier "DAT_00088f0c") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      local_d8 = 0;\n      do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);\n    }" ({ "{") (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" (identifier "local_d8") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      } while (local_d8 != 5);" (do "do") (compound_statement "{\n        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }\n        local_d8 = local_d8 + 1;\n      }" ({ "{") (if_statement "if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0)" (( "(") (binary_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0" (parenthesized_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2)" (( "(") (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" (( "(") (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (+ "+") (binary_expression "local_d8 * 8" (identifier "local_d8") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;\n          goto LAB_0004c3ff;\n        }" ({ "{") (expression_statement "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;" (assignment_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" (( "(") (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (+ "+") (binary_expression "local_d8 * 8" (identifier "local_d8") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4" (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" (( "(") (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (+ "+") (binary_expression "local_d8 * 8" (identifier "local_d8") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0xf9")) (| "|") (number_literal "4"))) (; ";")) (goto_statement "goto LAB_0004c3ff;" (goto "goto") (statement_identifier "LAB_0004c3ff") (; ";")) (} "}"))) (expression_statement "local_d8 = local_d8 + 1;" (assignment_expression "local_d8 = local_d8 + 1" (identifier "local_d8") (= "=") (binary_expression "local_d8 + 1" (identifier "local_d8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_d8 != 5)" (( "(") (binary_expression "local_d8 != 5" (identifier "local_d8") (!= "!=") (number_literal "5")) () ")")) (; ";")) (} "}")) (else_clause "else {\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }" (else "else") (compound_statement "{\n      local_d8 = DAT_00088f0c;\n      if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n    }" ({ "{") (expression_statement "local_d8 = DAT_00088f0c;" (assignment_expression "local_d8 = DAT_00088f0c" (identifier "local_d8") (= "=") (identifier "DAT_00088f0c")) (; ";")) (if_statement "if (DAT_00088f0c == 0) {\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }\n      else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" (if "if") (parenthesized_expression "(DAT_00088f0c == 0)" (( "(") (binary_expression "DAT_00088f0c == 0" (identifier "DAT_00088f0c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" ({ "{") (do_statement "do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);" (do "do") (compound_statement "{\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        }" ({ "{") (if_statement "if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }" (if "if") (parenthesized_expression "((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0)" (( "(") (binary_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0" (parenthesized_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4)" (( "(") (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" (( "(") (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (+ "+") (binary_expression "local_d8 * 8" (identifier "local_d8") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;\n            goto LAB_0004c3ff;\n          }" ({ "{") (expression_statement "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;" (assignment_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" (( "(") (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (+ "+") (binary_expression "local_d8 * 8" (identifier "local_d8") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2" (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" (( "(") (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (+ "+") (binary_expression "local_d8 * 8" (identifier "local_d8") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0xf9")) (| "|") (number_literal "2"))) (; ";")) (goto_statement "goto LAB_0004c3ff;" (goto "goto") (statement_identifier "LAB_0004c3ff") (; ";")) (} "}"))) (expression_statement "local_d8 = local_d8 + 1;" (assignment_expression "local_d8 = local_d8 + 1" (identifier "local_d8") (= "=") (binary_expression "local_d8 + 1" (identifier "local_d8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_d8 != 5)" (( "(") (binary_expression "local_d8 != 5" (identifier "local_d8") (!= "!=") (number_literal "5")) () ")")) (; ";")) (} "}")) (else_clause "else {\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" (else "else") (compound_statement "{\n        local_d8 = -1;\n        if (DAT_00088f0c != 2) goto LAB_0004c3ff;\n        local_d8 = 0;\n        do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);\n      }" ({ "{") (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" (identifier "local_d8") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (DAT_00088f0c != 2) goto LAB_0004c3ff;" (if "if") (parenthesized_expression "(DAT_00088f0c != 2)" (( "(") (binary_expression "DAT_00088f0c != 2" (identifier "DAT_00088f0c") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_0004c3ff;" (goto "goto") (statement_identifier "LAB_0004c3ff") (; ";"))) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" (identifier "local_d8") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        } while (local_d8 != 5);" (do "do") (compound_statement "{\n          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }\n          local_d8 = local_d8 + 1;\n        }" ({ "{") (if_statement "if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }" (if "if") (parenthesized_expression "((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10)" (( "(") (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" (( "(") (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (+ "+") (binary_expression "local_d8 * 8" (identifier "local_d8") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;\n            goto LAB_0004c3ff;\n          }" ({ "{") (expression_statement "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;" (assignment_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) =\n                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" (( "(") (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (+ "+") (binary_expression "local_d8 * 8" (identifier "local_d8") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4" (binary_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb" (pointer_expression "*(byte *)((int)&local_44 + local_d8 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)&local_44 + local_d8 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_44 + local_d8 * 8 + 2)" (( "(") (binary_expression "(int)&local_44 + local_d8 * 8 + 2" (binary_expression "(int)&local_44 + local_d8 * 8" (cast_expression "(int)&local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (+ "+") (binary_expression "local_d8 * 8" (identifier "local_d8") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0xeb")) (| "|") (number_literal "4"))) (; ";")) (goto_statement "goto LAB_0004c3ff;" (goto "goto") (statement_identifier "LAB_0004c3ff") (; ";")) (} "}"))) (expression_statement "local_d8 = local_d8 + 1;" (assignment_expression "local_d8 = local_d8 + 1" (identifier "local_d8") (= "=") (binary_expression "local_d8 + 1" (identifier "local_d8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_d8 != 5)" (( "(") (binary_expression "local_d8 != 5" (identifier "local_d8") (!= "!=") (number_literal "5")) () ")")) (; ";")) (} "}")))) (} "}")))) (expression_statement "local_d8 = -1;" (assignment_expression "local_d8 = -1" (identifier "local_d8") (= "=") (number_literal "-1")) (; ";")) (} "}"))) (labeled_statement "LAB_0004c3ff:\n  if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;" (statement_identifier "LAB_0004c3ff") (: ":") (if_statement "if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;" (if "if") (parenthesized_expression "((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0))" (( "(") (binary_expression "(DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)" (parenthesized_expression "(DAT_00089060 == 0x164)" (( "(") (binary_expression "DAT_00089060 == 0x164" (identifier "DAT_00089060") (== "==") (number_literal "0x164")) () ")")) (&& "&&") (parenthesized_expression "(puVar32[2] == 0xa0)" (( "(") (binary_expression "puVar32[2] == 0xa0" (subscript_expression "puVar32[2]" (identifier "puVar32") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0xa0")) () ")"))) () ")")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")))) (expression_statement "local_d0 = 0;" (assignment_expression "local_d0 = 0" (identifier "local_d0") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) {\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40)" (( "(") (binary_expression "*(byte *)((int)puVar32 + 0x25) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + 0x25)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x25)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x25)" (( "(") (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x25")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;\n    if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }\n  }" ({ "{") (expression_statement "local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;" (assignment_expression "local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1" (identifier "local_d0") (= "=") (binary_expression "(1 << ((byte)local_d4 & 0x1f)) - 1" (parenthesized_expression "(1 << ((byte)local_d4 & 0x1f))" (( "(") (binary_expression "1 << ((byte)local_d4 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)local_d4 & 0x1f)" (( "(") (binary_expression "(byte)local_d4 & 0x1f" (cast_expression "(byte)local_d4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_d4")) (& "&") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (number_literal "1"))) (; ";")) (if_statement "if (DAT_000890cc != (int *)0x0) {\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }" (if "if") (parenthesized_expression "(DAT_000890cc != (int *)0x0)" (( "(") (binary_expression "DAT_000890cc != (int *)0x0" (identifier "DAT_000890cc") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));\n    }" ({ "{") (expression_statement "local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));" (assignment_expression "local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f))" (identifier "local_d0") (= "=") (binary_expression "local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f))" (identifier "local_d0") (& "&") (unary_expression "~(1 << ((byte)DAT_000890cc[1] & 0x1f))" (~ "~") (parenthesized_expression "(1 << ((byte)DAT_000890cc[1] & 0x1f))" (( "(") (binary_expression "1 << ((byte)DAT_000890cc[1] & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)DAT_000890cc[1] & 0x1f)" (( "(") (binary_expression "(byte)DAT_000890cc[1] & 0x1f" (cast_expression "(byte)DAT_000890cc[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "DAT_000890cc[1]" (identifier "DAT_000890cc") ([ "[") (number_literal "1") (] "]"))) (& "&") (number_literal "0x1f")) () ")"))) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar20 = DAT_00089010 & local_44;" (assignment_expression "uVar20 = DAT_00089010 & local_44" (identifier "uVar20") (= "=") (binary_expression "DAT_00089010 & local_44" (identifier "DAT_00089010") (& "&") (identifier "local_44"))) (; ";")) (expression_statement "bVar17 = (byte)(uVar20 >> 0x10);" (assignment_expression "bVar17 = (byte)(uVar20 >> 0x10)" (identifier "bVar17") (= "=") (call_expression "(byte)(uVar20 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar20 >> 0x10)" (( "(") (binary_expression "uVar20 >> 0x10" (identifier "uVar20") (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "local_8c = (byte)(uVar20 >> 0x18);" (assignment_expression "local_8c = (byte)(uVar20 >> 0x18)" (identifier "local_8c") (= "=") (call_expression "(byte)(uVar20 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar20 >> 0x18)" (( "(") (binary_expression "uVar20 >> 0x18" (identifier "uVar20") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "bVar29 = (byte)(DAT_00089010 >> 0x18);" (assignment_expression "bVar29 = (byte)(DAT_00089010 >> 0x18)" (identifier "bVar29") (= "=") (call_expression "(byte)(DAT_00089010 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(DAT_00089010 >> 0x18)" (( "(") (binary_expression "DAT_00089010 >> 0x18" (identifier "DAT_00089010") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "bVar18 = (byte)(DAT_00089018 >> 0x10);" (assignment_expression "bVar18 = (byte)(DAT_00089018 >> 0x10)" (identifier "bVar18") (= "=") (call_expression "(byte)(DAT_00089018 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(DAT_00089018 >> 0x10)" (( "(") (binary_expression "DAT_00089018 >> 0x10" (identifier "DAT_00089018") (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "bVar30 = (byte)(DAT_00089018 >> 0x18);" (assignment_expression "bVar30 = (byte)(DAT_00089018 >> 0x18)" (identifier "bVar30") (= "=") (call_expression "(byte)(DAT_00089018 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(DAT_00089018 >> 0x18)" (( "(") (binary_expression "DAT_00089018 >> 0x18" (identifier "DAT_00089018") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "local_c8 = (byte)DAT_00089014;" (assignment_expression "local_c8 = (byte)DAT_00089014" (identifier "local_c8") (= "=") (cast_expression "(byte)DAT_00089014" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00089014"))) (; ";")) (expression_statement "uVar28 = local_dc;" (assignment_expression "uVar28 = local_dc" (identifier "uVar28") (= "=") (identifier "local_dc")) (; ";")) (switch_statement "switch(local_d4) {\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }" (switch "switch") (parenthesized_expression "(local_d4)" (( "(") (identifier "local_d4") () ")")) (compound_statement "{\n  default:\n    goto LAB_0004c685;\n  case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;\n  case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;\n  case 3:\n    break;\n  case 4:\n  case 5:\n    goto code_r0x0004c54a;\n  }" ({ "{") (case_statement "default:\n    goto LAB_0004c685;" (default "default") (: ":") (goto_statement "goto LAB_0004c685;" (goto "goto") (statement_identifier "LAB_0004c685") (; ";"))) (case_statement "case 1:\n    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;\n    goto code_r0x0004c880;" (case "case") (number_literal "1") (: ":") (if_statement "if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))\n    goto LAB_0004c685;" (if "if") (parenthesized_expression "(((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))" (( "(") (binary_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)" (parenthesized_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0)" (( "(") (binary_expression "(uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0" (binary_expression "(uVar20 & 0x1dffffff) != 0" (parenthesized_expression "(uVar20 & 0x1dffffff)" (( "(") (binary_expression "uVar20 & 0x1dffffff" (identifier "uVar20") (& "&") (number_literal "0x1dffffff")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(DAT_00089014 & local_40 & 0xffffff80) != 0" (parenthesized_expression "(DAT_00089014 & local_40 & 0xffffff80)" (( "(") (binary_expression "DAT_00089014 & local_40 & 0xffffff80" (binary_expression "DAT_00089014 & local_40" (identifier "DAT_00089014") (& "&") (identifier "local_40")) (& "&") (number_literal "0xffffff80")) () ")")) (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "(((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0)" (( "(") (binary_expression "((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0" (binary_expression "((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0" (parenthesized_expression "((DAT_00089010._2_1_ ^ bVar17) & 0x40)" (( "(") (binary_expression "(DAT_00089010._2_1_ ^ bVar17) & 0x40" (parenthesized_expression "(DAT_00089010._2_1_ ^ bVar17)" (( "(") (binary_expression "DAT_00089010._2_1_ ^ bVar17" (field_expression "DAT_00089010._2_1_" (identifier "DAT_00089010") (. ".") (field_identifier "_2_1_")) (^ "^") (identifier "bVar17")) () ")")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "((bVar29 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar29 ^ local_8c) & 2)" (( "(") (binary_expression "(bVar29 ^ local_8c) & 2" (parenthesized_expression "(bVar29 ^ local_8c)" (( "(") (binary_expression "bVar29 ^ local_8c" (identifier "bVar29") (^ "^") (identifier "local_8c")) () ")")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0004c685;" (goto "goto") (statement_identifier "LAB_0004c685") (; ";"))) (goto_statement "goto code_r0x0004c880;" (goto "goto") (statement_identifier "code_r0x0004c880") (; ";"))) (case_statement "case 2:\n    if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;\n    if (DAT_000890d4 != 2) goto code_r0x0004c54a;\n    bVar4 = *(byte *)(puVar32 + 9);\n    if ((bVar4 & 1) == 0) goto code_r0x0004c538;\n    goto code_r0x0004c7fc;" (case "case") (number_literal "2") (: ":") (if_statement "if (DAT_00088f0c == 2) {\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }\n    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;" (if "if") (parenthesized_expression "(DAT_00088f0c == 2)" (( "(") (binary_expression "DAT_00088f0c == 2" (identifier "DAT_00088f0c") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;\n    }" ({ "{") (if_statement "if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;" (if "if") (parenthesized_expression "((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4))))" (( "(") (binary_expression "(((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&\n         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))" (parenthesized_expression "(((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5))" (( "(") (binary_expression "((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)" (parenthesized_expression "((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4))" (( "(") (binary_expression "(puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)" (parenthesized_expression "(puVar32[2] == 0x90)" (( "(") (binary_expression "puVar32[2] == 0x90" (subscript_expression "puVar32[2]" (identifier "puVar32") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x90")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00089014 == _UNK_000654f4)" (( "(") (binary_expression "DAT_00089014 == _UNK_000654f4" (identifier "DAT_00089014") (== "==") (identifier "_UNK_000654f4")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_00089010 == uVar5)" (( "(") (binary_expression "DAT_00089010 == uVar5" (identifier "DAT_00089010") (== "==") (identifier "uVar5")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))" (( "(") (parenthesized_expression "(DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4))" (( "(") (binary_expression "DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)" (binary_expression "DAT_00089018 == uVar5" (identifier "DAT_00089018") (== "==") (identifier "uVar5")) (&& "&&") (parenthesized_expression "(DAT_0008901c == _UNK_000654f4)" (( "(") (binary_expression "DAT_0008901c == _UNK_000654f4" (identifier "DAT_0008901c") (== "==") (identifier "_UNK_000654f4")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";"))) (} "}")) (else_clause "else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;" (else "else") (if_statement "if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;" (if "if") (parenthesized_expression "(((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0))" (( "(") (binary_expression "((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&\n            ((DAT_00089018 & 0x5f0000) != 0)" (parenthesized_expression "((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0))))" (( "(") (binary_expression "(DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))" (parenthesized_expression "(DAT_000890ec != 0)" (( "(") (binary_expression "DAT_000890ec != 0" (identifier "DAT_000890ec") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))" (( "(") (parenthesized_expression "(puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0))" (( "(") (binary_expression "puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)" (binary_expression "puVar32[2] == 0xa0" (subscript_expression "puVar32[2]" (identifier "puVar32") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0xa0")) (&& "&&") (parenthesized_expression "((DAT_00089010 & 0x200000) != 0)" (( "(") (binary_expression "(DAT_00089010 & 0x200000) != 0" (parenthesized_expression "(DAT_00089010 & 0x200000)" (( "(") (binary_expression "DAT_00089010 & 0x200000" (identifier "DAT_00089010") (& "&") (number_literal "0x200000")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_00089018 & 0x5f0000) != 0)" (( "(") (binary_expression "(DAT_00089018 & 0x5f0000) != 0" (parenthesized_expression "(DAT_00089018 & 0x5f0000)" (( "(") (binary_expression "DAT_00089018 & 0x5f0000" (identifier "DAT_00089018") (& "&") (number_literal "0x5f0000")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";"))))) (if_statement "if (DAT_000890d4 != 2) goto code_r0x0004c54a;" (if "if") (parenthesized_expression "(DAT_000890d4 != 2)" (( "(") (binary_expression "DAT_000890d4 != 2" (identifier "DAT_000890d4") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto code_r0x0004c54a;" (goto "goto") (statement_identifier "code_r0x0004c54a") (; ";"))) (expression_statement "bVar4 = *(byte *)(puVar32 + 9);" (assignment_expression "bVar4 = *(byte *)(puVar32 + 9)" (identifier "bVar4") (= "=") (pointer_expression "*(byte *)(puVar32 + 9)" (* "*") (cast_expression "(byte *)(puVar32 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 9)" (( "(") (binary_expression "puVar32 + 9" (identifier "puVar32") (+ "+") (number_literal "9")) () ")"))))) (; ";")) (if_statement "if ((bVar4 & 1) == 0) goto code_r0x0004c538;" (if "if") (parenthesized_expression "((bVar4 & 1) == 0)" (( "(") (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" (( "(") (binary_expression "bVar4 & 1" (identifier "bVar4") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x0004c538;" (goto "goto") (statement_identifier "code_r0x0004c538") (; ";"))) (goto_statement "goto code_r0x0004c7fc;" (goto "goto") (statement_identifier "code_r0x0004c7fc") (; ";"))) (case_statement "case 3:\n    break;" (case "case") (number_literal "3") (: ":") (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:" (case "case") (number_literal "4") (: ":")) (case_statement "case 5:\n    goto code_r0x0004c54a;" (case "case") (number_literal "5") (: ":") (goto_statement "goto code_r0x0004c54a;" (goto "goto") (statement_identifier "code_r0x0004c54a") (; ";"))) (} "}"))) (if_statement "if (DAT_000890d4 == 2) {\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }" (if "if") (parenthesized_expression "(DAT_000890d4 == 2)" (( "(") (binary_expression "DAT_000890d4 == 2" (identifier "DAT_000890d4") (== "==") (number_literal "2")) () ")")) (compound_statement "{\ncode_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;\n  }" ({ "{") (labeled_statement "code_r0x0004c538:\n    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;" (statement_identifier "code_r0x0004c538") (: ":") (if_statement "if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;" (if "if") (parenthesized_expression "((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0))" (( "(") (binary_expression "(DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)" (parenthesized_expression "(DAT_00089008 == 0)" (( "(") (binary_expression "DAT_00089008 == 0" (identifier "DAT_00089008") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar32 + 9) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + 9) & 4) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 9) & 4)" (( "(") (binary_expression "*(byte *)(puVar32 + 9) & 4" (pointer_expression "*(byte *)(puVar32 + 9)" (* "*") (cast_expression "(byte *)(puVar32 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 9)" (( "(") (binary_expression "puVar32 + 9" (identifier "puVar32") (+ "+") (number_literal "9")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")))) (} "}"))) (labeled_statement "code_r0x0004c54a:\n  if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }" (statement_identifier "code_r0x0004c54a") (: ":") (if_statement "if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }" (if "if") (parenthesized_expression "(((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0))))" (( "(") (binary_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&\n     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))" (parenthesized_expression "((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0)" (( "(") (binary_expression "(uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0" (binary_expression "(uVar20 & 0x1dffffff) != 0" (parenthesized_expression "(uVar20 & 0x1dffffff)" (( "(") (binary_expression "uVar20 & 0x1dffffff" (identifier "uVar20") (& "&") (number_literal "0x1dffffff")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(DAT_00089014 & local_40 & 0xffffff80) != 0" (parenthesized_expression "(DAT_00089014 & local_40 & 0xffffff80)" (( "(") (binary_expression "DAT_00089014 & local_40 & 0xffffff80" (binary_expression "DAT_00089014 & local_40" (identifier "DAT_00089014") (& "&") (identifier "local_40")) (& "&") (number_literal "0xffffff80")) () ")")) (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "(((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))" (( "(") (parenthesized_expression "((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0))" (( "(") (binary_expression "(((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&\n      (local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)" (parenthesized_expression "(((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0))" (( "(") (binary_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&\n       (uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)" (binary_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0" (binary_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0" (parenthesized_expression "((bVar17 ^ DAT_00089010._2_1_) & 0x40)" (( "(") (binary_expression "(bVar17 ^ DAT_00089010._2_1_) & 0x40" (parenthesized_expression "(bVar17 ^ DAT_00089010._2_1_)" (( "(") (binary_expression "bVar17 ^ DAT_00089010._2_1_" (identifier "bVar17") (^ "^") (field_expression "DAT_00089010._2_1_" (identifier "DAT_00089010") (. ".") (field_identifier "_2_1_"))) () ")")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "((bVar29 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar29 ^ local_8c) & 2)" (( "(") (binary_expression "(bVar29 ^ local_8c) & 2" (parenthesized_expression "(bVar29 ^ local_8c)" (( "(") (binary_expression "bVar29 ^ local_8c" (identifier "bVar29") (^ "^") (identifier "local_8c")) () ")")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) (&& "&&") (parenthesized_expression "(uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)" (( "(") (comma_expression "uVar20 = DAT_00089018 & local_3c,\n       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0" (assignment_expression "uVar20 = DAT_00089018 & local_3c" (identifier "uVar20") (= "=") (binary_expression "DAT_00089018 & local_3c" (identifier "DAT_00089018") (& "&") (identifier "local_3c"))) (, ",") (binary_expression "(uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0" (binary_expression "(uVar20 & 0x1dffffff) != 0" (parenthesized_expression "(uVar20 & 0x1dffffff)" (( "(") (binary_expression "uVar20 & 0x1dffffff" (identifier "uVar20") (& "&") (number_literal "0x1dffffff")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(DAT_0008901c & local_38 & 0xffffff80) != 0" (parenthesized_expression "(DAT_0008901c & local_38 & 0xffffff80)" (( "(") (binary_expression "DAT_0008901c & local_38 & 0xffffff80" (binary_expression "DAT_0008901c & local_38" (identifier "DAT_0008901c") (& "&") (identifier "local_38")) (& "&") (number_literal "0xffffff80")) () ")")) (!= "!=") (number_literal "0")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)" (( "(") (comma_expression "local_8c = (byte)(uVar20 >> 0x18),\n      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0" (assignment_expression "local_8c = (byte)(uVar20 >> 0x18)" (identifier "local_8c") (= "=") (call_expression "(byte)(uVar20 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar20 >> 0x18)" (( "(") (binary_expression "uVar20 >> 0x18" (identifier "uVar20") (>> ">>") (number_literal "0x18")) () ")")))) (, ",") (binary_expression "(((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0" (binary_expression "(((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0" (parenthesized_expression "(((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40)" (( "(") (binary_expression "((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40" (parenthesized_expression "((byte)(uVar20 >> 0x10) ^ bVar18)" (( "(") (binary_expression "(byte)(uVar20 >> 0x10) ^ bVar18" (call_expression "(byte)(uVar20 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar20 >> 0x10)" (( "(") (binary_expression "uVar20 >> 0x10" (identifier "uVar20") (>> ">>") (number_literal "0x10")) () ")"))) (^ "^") (identifier "bVar18")) () ")")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "((bVar30 ^ local_8c) & 2) == 0" (parenthesized_expression "((bVar30 ^ local_8c) & 2)" (( "(") (binary_expression "(bVar30 ^ local_8c) & 2" (parenthesized_expression "(bVar30 ^ local_8c)" (( "(") (binary_expression "bVar30 ^ local_8c" (identifier "bVar30") (^ "^") (identifier "local_8c")) () ")")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }\n    if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }\ncode_r0x0004c880:\n    DAT_000890f8 = 1;\n    goto LAB_0004ba48;\n  }" ({ "{") (if_statement "if ((local_d0 & 3) == 3) {\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }" (if "if") (parenthesized_expression "((local_d0 & 3) == 3)" (( "(") (binary_expression "(local_d0 & 3) == 3" (parenthesized_expression "(local_d0 & 3)" (( "(") (binary_expression "local_d0 & 3" (identifier "local_d0") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }\n    }" ({ "{") (if_statement "if ((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }" (if "if") (parenthesized_expression "((((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))))))))" (( "(") (binary_expression "(((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))) &&\n         ((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))" (parenthesized_expression "(((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0))))" (( "(") (binary_expression "((DAT_00089010 & 5) != 0) ||\n          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))" (parenthesized_expression "((DAT_00089010 & 5) != 0)" (( "(") (binary_expression "(DAT_00089010 & 5) != 0" (parenthesized_expression "(DAT_00089010 & 5)" (( "(") (binary_expression "DAT_00089010 & 5" (identifier "DAT_00089010") (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)))" (( "(") (parenthesized_expression "(((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0))" (( "(") (binary_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n           ((local_44 & 4) != 0)" (parenthesized_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0))" (( "(") (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)" (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089010 >> 0x10 & 0x5f)" (( "(") (binary_expression "DAT_00089010 >> 0x10 & 0x5f" (binary_expression "DAT_00089010 >> 0x10" (identifier "DAT_00089010") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x5f")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((DAT_00089014 & 0x40) == 0)" (( "(") (binary_expression "(DAT_00089014 & 0x40) == 0" (parenthesized_expression "(DAT_00089014 & 0x40)" (( "(") (binary_expression "DAT_00089014 & 0x40" (identifier "DAT_00089014") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_44 & 4) != 0)" (( "(") (binary_expression "(local_44 & 4) != 0" (parenthesized_expression "(local_44 & 4)" (( "(") (binary_expression "local_44 & 4" (identifier "local_44") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))" (( "(") (parenthesized_expression "(((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))))))" (( "(") (binary_expression "((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))) &&\n          ((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))" (parenthesized_expression "((DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0))))" (( "(") (binary_expression "(DAT_00089018 & 5) != 0 ||\n           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))" (binary_expression "(DAT_00089018 & 5) != 0" (parenthesized_expression "(DAT_00089018 & 5)" (( "(") (binary_expression "DAT_00089018 & 5" (identifier "DAT_00089018") (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)))" (( "(") (parenthesized_expression "(((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0))" (( "(") (binary_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n            ((local_3c & 4) != 0)" (parenthesized_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0))" (( "(") (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)" (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089018 >> 0x10 & 0x5f)" (( "(") (binary_expression "DAT_00089018 >> 0x10 & 0x5f" (binary_expression "DAT_00089018 >> 0x10" (identifier "DAT_00089018") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x5f")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((DAT_0008901c & 0x40) == 0)" (( "(") (binary_expression "(DAT_0008901c & 0x40) == 0" (parenthesized_expression "(DAT_0008901c & 0x40)" (( "(") (binary_expression "DAT_0008901c & 0x40" (identifier "DAT_0008901c") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_3c & 4) != 0)" (( "(") (binary_expression "(local_3c & 4) != 0" (parenthesized_expression "(local_3c & 4)" (( "(") (binary_expression "local_3c & 4" (identifier "local_3c") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))" (( "(") (parenthesized_expression "(((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))))" (( "(") (binary_expression "((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&\n           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))" (parenthesized_expression "((char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0))" (( "(") (binary_expression "(char)(bVar30 ^ bVar29) < '\0' ||\n            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)" (binary_expression "(char)(bVar30 ^ bVar29) < '\0'" (cast_expression "(char)(bVar30 ^ bVar29)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(bVar30 ^ bVar29)" (( "(") (binary_expression "bVar30 ^ bVar29" (identifier "bVar30") (^ "^") (identifier "bVar29")) () ")"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (|| "||") (parenthesized_expression "(((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)" (( "(") (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0" (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0" (parenthesized_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a)" (( "(") (binary_expression "(local_c8 ^ (byte)DAT_0008901c) & 0x3a" (parenthesized_expression "(local_c8 ^ (byte)DAT_0008901c)" (( "(") (binary_expression "local_c8 ^ (byte)DAT_0008901c" (identifier "local_c8") (^ "^") (cast_expression "(byte)DAT_0008901c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0008901c"))) () ")")) (& "&") (number_literal "0x3a")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "((bVar30 ^ bVar29) & 0x60) != 0" (parenthesized_expression "((bVar30 ^ bVar29) & 0x60)" (( "(") (binary_expression "(bVar30 ^ bVar29) & 0x60" (parenthesized_expression "(bVar30 ^ bVar29)" (( "(") (binary_expression "bVar30 ^ bVar29" (identifier "bVar30") (^ "^") (identifier "bVar29")) () ")")) (& "&") (number_literal "0x60")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))" (( "(") (parenthesized_expression "(((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))))" (( "(") (binary_expression "((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||\n            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))" (parenthesized_expression "((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0))))" (( "(") (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))" (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0" (parenthesized_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1)" (( "(") (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1" (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5" (binary_expression "bStack_39 >> 5 & 1" (binary_expression "bStack_39 >> 5" (identifier "bStack_39") (>> ">>") (number_literal "5")) (& "&") (number_literal "1")) (& "&") (binary_expression "local_44._3_1_ >> 5" (field_expression "local_44._3_1_" (identifier "local_44") (. ".") (field_identifier "_3_1_")) (>> ">>") (number_literal "5"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))" (( "(") (parenthesized_expression "(((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0))" (( "(") (binary_expression "((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||\n              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)" (parenthesized_expression "((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0'))" (( "(") (binary_expression "(bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||\n               ((char)(bStack_39 & local_44._3_1_) < '\0')" (binary_expression "(bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0" (parenthesized_expression "(bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1)" (( "(") (binary_expression "bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1" (binary_expression "bStack_39 >> 6 & 1 & local_44._3_1_ >> 6" (binary_expression "bStack_39 >> 6 & 1" (binary_expression "bStack_39 >> 6" (identifier "bStack_39") (>> ">>") (number_literal "6")) (& "&") (number_literal "1")) (& "&") (binary_expression "local_44._3_1_ >> 6" (field_expression "local_44._3_1_" (identifier "local_44") (. ".") (field_identifier "_3_1_")) (>> ">>") (number_literal "6"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((char)(bStack_39 & local_44._3_1_) < '\0')" (( "(") (binary_expression "(char)(bStack_39 & local_44._3_1_) < '\0'" (cast_expression "(char)(bStack_39 & local_44._3_1_)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(bStack_39 & local_44._3_1_)" (( "(") (binary_expression "bStack_39 & local_44._3_1_" (identifier "bStack_39") (& "&") (field_expression "local_44._3_1_" (identifier "local_44") (. ".") (field_identifier "_3_1_"))) () ")"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)" (( "(") (binary_expression "((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1)" (( "(") (binary_expression "(byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1" (binary_expression "(byte)local_40 >> 1 & 1 & (byte)local_38 >> 1" (binary_expression "(byte)local_40 >> 1 & 1" (binary_expression "(byte)local_40 >> 1" (cast_expression "(byte)local_40" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_40")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) (& "&") (binary_expression "(byte)local_38 >> 1" (cast_expression "(byte)local_38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_38")) (>> ">>") (number_literal "1"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))" (( "(") (parenthesized_expression "((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0))" (( "(") (binary_expression "(((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||\n             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)" (parenthesized_expression "(((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0))" (( "(") (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1)" (( "(") (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1" (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3" (binary_expression "(byte)local_38 >> 3 & 1" (binary_expression "(byte)local_38 >> 3" (cast_expression "(byte)local_38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_38")) (>> ">>") (number_literal "3")) (& "&") (number_literal "1")) (& "&") (binary_expression "(byte)local_40 >> 3" (cast_expression "(byte)local_40" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_40")) (>> ">>") (number_literal "3"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" (( "(") (binary_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1)" (( "(") (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1" (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4" (binary_expression "(byte)local_40 >> 4 & 1" (binary_expression "(byte)local_40 >> 4" (cast_expression "(byte)local_40" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_40")) (>> ">>") (number_literal "4")) (& "&") (number_literal "1")) (& "&") (binary_expression "(byte)local_38 >> 4" (cast_expression "(byte)local_38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_38")) (>> ">>") (number_literal "4"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)" (( "(") (binary_expression "((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1)" (( "(") (binary_expression "(byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1" (binary_expression "(byte)local_38 >> 5 & 1 & (byte)local_40 >> 5" (binary_expression "(byte)local_38 >> 5 & 1" (binary_expression "(byte)local_38 >> 5" (cast_expression "(byte)local_38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_38")) (>> ">>") (number_literal "5")) (& "&") (number_literal "1")) (& "&") (binary_expression "(byte)local_40 >> 5" (cast_expression "(byte)local_40" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_40")) (>> ">>") (number_literal "5"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        DAT_000890f8 = 2;\n        goto code_r0x0004c7ec;\n      }" ({ "{") (expression_statement "DAT_000890f8 = 2;" (assignment_expression "DAT_000890f8 = 2" (identifier "DAT_000890f8") (= "=") (number_literal "2")) (; ";")) (goto_statement "goto code_r0x0004c7ec;" (goto "goto") (statement_identifier "code_r0x0004c7ec") (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_d4 == 4) {\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }\n    else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }" (if "if") (parenthesized_expression "(local_d4 == 4)" (( "(") (binary_expression "local_d4 == 4" (identifier "local_d4") (== "==") (number_literal "4")) () ")")) (compound_statement "{\ncode_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;\n      uStack_a4 = uRam00089028 & uStack_2c;\ncode_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;\n      uStack_a0 = uStack_34 & _DAT_00089020;\n    }" ({ "{") (labeled_statement "code_r0x0004d03b:\n      uStack_98 = uRam0008902c & uStack_28;" (statement_identifier "code_r0x0004d03b") (: ":") (expression_statement "uStack_98 = uRam0008902c & uStack_28;" (assignment_expression "uStack_98 = uRam0008902c & uStack_28" (identifier "uStack_98") (= "=") (binary_expression "uRam0008902c & uStack_28" (identifier "uRam0008902c") (& "&") (identifier "uStack_28"))) (; ";"))) (expression_statement "uStack_a4 = uRam00089028 & uStack_2c;" (assignment_expression "uStack_a4 = uRam00089028 & uStack_2c" (identifier "uStack_a4") (= "=") (binary_expression "uRam00089028 & uStack_2c" (identifier "uRam00089028") (& "&") (identifier "uStack_2c"))) (; ";")) (labeled_statement "code_r0x0004d05d:\n      uStack_9c = _DAT_00089024 & uStack_30;" (statement_identifier "code_r0x0004d05d") (: ":") (expression_statement "uStack_9c = _DAT_00089024 & uStack_30;" (assignment_expression "uStack_9c = _DAT_00089024 & uStack_30" (identifier "uStack_9c") (= "=") (binary_expression "_DAT_00089024 & uStack_30" (identifier "_DAT_00089024") (& "&") (identifier "uStack_30"))) (; ";"))) (expression_statement "uStack_a0 = uStack_34 & _DAT_00089020;" (assignment_expression "uStack_a0 = uStack_34 & _DAT_00089020" (identifier "uStack_a0") (= "=") (binary_expression "uStack_34 & _DAT_00089020" (identifier "uStack_34") (& "&") (identifier "_DAT_00089020"))) (; ";")) (} "}")) (else_clause "else {\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }" (else "else") (compound_statement "{\n      if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }\n      if (local_d4 == 3) goto code_r0x0004d05d;\n    }" ({ "{") (if_statement "if (local_d4 == 5) {\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }" (if "if") (parenthesized_expression "(local_d4 == 5)" (( "(") (binary_expression "local_d4 == 5" (identifier "local_d4") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n        uStack_94 = DAT_00089034 & uStack_20;\n        uStack_90 = _DAT_00089030 & uStack_24;\n        goto code_r0x0004d03b;\n      }" ({ "{") (expression_statement "uStack_94 = DAT_00089034 & uStack_20;" (assignment_expression "uStack_94 = DAT_00089034 & uStack_20" (identifier "uStack_94") (= "=") (binary_expression "DAT_00089034 & uStack_20" (identifier "DAT_00089034") (& "&") (identifier "uStack_20"))) (; ";")) (expression_statement "uStack_90 = _DAT_00089030 & uStack_24;" (assignment_expression "uStack_90 = _DAT_00089030 & uStack_24" (identifier "uStack_90") (= "=") (binary_expression "_DAT_00089030 & uStack_24" (identifier "_DAT_00089030") (& "&") (identifier "uStack_24"))) (; ";")) (goto_statement "goto code_r0x0004d03b;" (goto "goto") (statement_identifier "code_r0x0004d03b") (; ";")) (} "}"))) (if_statement "if (local_d4 == 3) goto code_r0x0004d05d;" (if "if") (parenthesized_expression "(local_d4 == 3)" (( "(") (binary_expression "local_d4 == 3" (identifier "local_d4") (== "==") (number_literal "3")) () ")")) (goto_statement "goto code_r0x0004d05d;" (goto "goto") (statement_identifier "code_r0x0004d05d") (; ";"))) (} "}")))) (if_statement "if (local_d4 == 4) {\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }\n    else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(local_d4 == 4)" (( "(") (binary_expression "local_d4 == 4" (identifier "local_d4") (== "==") (number_literal "4")) () ")")) (compound_statement "{\ncode_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }\n    }" ({ "{") (labeled_statement "code_r0x0004d3b2:\n      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }" (statement_identifier "code_r0x0004d3b2") (: ":") (if_statement "if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }" (if "if") (parenthesized_expression "(((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0))" (( "(") (binary_expression "((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)" (parenthesized_expression "((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0)" (( "(") (binary_expression "(uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0" (binary_expression "(uStack_a4 & 0xffffff) != 0" (parenthesized_expression "(uStack_a4 & 0xffffff)" (( "(") (binary_expression "uStack_a4 & 0xffffff" (identifier "uStack_a4") (& "&") (number_literal "0xffffff")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uStack_a4 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(uStack_a4 >> 0x18 & 0x1d)" (( "(") (binary_expression "uStack_a4 >> 0x18 & 0x1d" (binary_expression "uStack_a4 >> 0x18" (identifier "uStack_a4") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x1d")) () ")")) (!= "!=") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)" (( "(") (binary_expression "(uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0" (binary_expression "(uStack_98 & 0x80) != 0" (parenthesized_expression "(uStack_98 & 0x80)" (( "(") (binary_expression "uStack_98 & 0x80" (identifier "uStack_98") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uStack_98 & 0xffffff00) != 0" (parenthesized_expression "(uStack_98 & 0xffffff00)" (( "(") (binary_expression "uStack_98 & 0xffffff00" (identifier "uStack_98") (& "&") (number_literal "0xffffff00")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        uVar20 = uRam00089028 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);\n        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }\n      }" ({ "{") (expression_statement "uVar20 = uRam00089028 >> 0x18;" (assignment_expression "uVar20 = uRam00089028 >> 0x18" (identifier "uVar20") (= "=") (binary_expression "uRam00089028 >> 0x18" (identifier "uRam00089028") (>> ">>") (number_literal "0x18"))) (; ";")) (expression_statement "local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);" (assignment_expression "local_d4._0_1_ = (byte)(uStack_a4 >> 0x18)" (field_expression "local_d4._0_1_" (identifier "local_d4") (. ".") (field_identifier "_0_1_")) (= "=") (call_expression "(byte)(uStack_a4 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_a4 >> 0x18)" (( "(") (binary_expression "uStack_a4 >> 0x18" (identifier "uStack_a4") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (if_statement "if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }" (if "if") (parenthesized_expression "((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0)" (( "(") (binary_expression "(((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0" (binary_expression "(((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40)" (( "(") (binary_expression "((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40" (parenthesized_expression "((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10))" (( "(") (binary_expression "(byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)" (call_expression "(byte)(uStack_a4 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_a4 >> 0x10)" (( "(") (binary_expression "uStack_a4 >> 0x10" (identifier "uStack_a4") (>> ">>") (number_literal "0x10")) () ")"))) (^ "^") (call_expression "(byte)(uRam00089028 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uRam00089028 >> 0x10)" (( "(") (binary_expression "uRam00089028 >> 0x10" (identifier "uRam00089028") (>> ">>") (number_literal "0x10")) () ")")))) () ")")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0" (parenthesized_expression "(((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2)" (( "(") (binary_expression "((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2" (parenthesized_expression "((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4)" (( "(") (binary_expression "(byte)(uRam00089028 >> 0x18) ^ (byte)local_d4" (call_expression "(byte)(uRam00089028 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uRam00089028 >> 0x18)" (( "(") (binary_expression "uRam00089028 >> 0x18" (identifier "uRam00089028") (>> ">>") (number_literal "0x18")) () ")"))) (^ "^") (cast_expression "(byte)local_d4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_d4"))) () ")")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n          if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;\n          goto code_r0x0004d445;\n        }" ({ "{") (if_statement "if ((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;" (if "if") (parenthesized_expression "((((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0))))" (( "(") (binary_expression "(((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||\n             (((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))" (parenthesized_expression "(((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0))" (( "(") (binary_expression "((local_d0 & 10) == 10) &&\n              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)" (parenthesized_expression "((local_d0 & 10) == 10)" (( "(") (binary_expression "(local_d0 & 10) == 10" (parenthesized_expression "(local_d0 & 10)" (( "(") (binary_expression "local_d0 & 10" (identifier "local_d0") (& "&") (number_literal "10")) () ")")) (== "==") (number_literal "10")) () ")")) (&& "&&") (parenthesized_expression "(iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)" (( "(") (comma_expression "iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20)" (identifier "iVar19") (= "=") (call_expression "FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20)" (identifier "FUN_00041970") (argument_list "(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28\n                                     ,uVar20,uVar20)" (( "(") (identifier "local_3c") (, ",") (identifier "local_38") (, ",") (identifier "uRam00089028") (, ",") (identifier "uRam0008902c") (, ",") (identifier "uStack_2c") (, ",") (identifier "uStack_28") (, ",") (identifier "uVar20") (, ",") (identifier "uVar20") () ")")))) (, ",") (comma_expression "uVar20 = extraout_ECX, iVar19 == 0" (assignment_expression "uVar20 = extraout_ECX" (identifier "uVar20") (= "=") (identifier "extraout_ECX")) (, ",") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)))" (( "(") (parenthesized_expression "((local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0))" (( "(") (binary_expression "(local_d0 & 0xc) == 0xc &&\n              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)" (binary_expression "(local_d0 & 0xc) == 0xc" (parenthesized_expression "(local_d0 & 0xc)" (( "(") (binary_expression "local_d0 & 0xc" (identifier "local_d0") (& "&") (number_literal "0xc")) () ")")) (== "==") (number_literal "0xc")) (&& "&&") (parenthesized_expression "(iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0)" (( "(") (comma_expression "iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20), iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20)" (identifier "iVar19") (= "=") (call_expression "FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20)" (identifier "FUN_00041970") (argument_list "(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,\n                                     uStack_28,uVar20,uVar20)" (( "(") (identifier "uStack_34") (, ",") (identifier "uStack_30") (, ",") (identifier "uRam00089028") (, ",") (identifier "uRam0008902c") (, ",") (identifier "uStack_2c") (, ",") (identifier "uStack_28") (, ",") (identifier "uVar20") (, ",") (identifier "uVar20") () ")")))) (, ",") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";"))) (goto_statement "goto code_r0x0004d445;" (goto "goto") (statement_identifier "code_r0x0004d445") (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" (else "else") (if_statement "if (local_d4 == 5) {\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }\n    else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(local_d4 == 5)" (( "(") (binary_expression "local_d4 == 5" (identifier "local_d4") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }\n    }" ({ "{") (if_statement "if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }" (if "if") (parenthesized_expression "(((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0))" (( "(") (binary_expression "((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)" (parenthesized_expression "((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0)" (( "(") (binary_expression "(uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0" (binary_expression "(uStack_90 & 0xffffff) != 0" (parenthesized_expression "(uStack_90 & 0xffffff)" (( "(") (binary_expression "uStack_90 & 0xffffff" (identifier "uStack_90") (& "&") (number_literal "0xffffff")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uStack_90 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(uStack_90 >> 0x18 & 0x1d)" (( "(") (binary_expression "uStack_90 >> 0x18 & 0x1d" (binary_expression "uStack_90 >> 0x18" (identifier "uStack_90") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x1d")) () ")")) (!= "!=") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)" (( "(") (binary_expression "(uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0" (binary_expression "(uStack_94 & 0x80) != 0" (parenthesized_expression "(uStack_94 & 0x80)" (( "(") (binary_expression "uStack_94 & 0x80" (identifier "uStack_94") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uStack_94 & 0xffffff00) != 0" (parenthesized_expression "(uStack_94 & 0xffffff00)" (( "(") (binary_expression "uStack_94 & 0xffffff00" (identifier "uStack_94") (& "&") (number_literal "0xffffff00")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);\n        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }\n      }" ({ "{") (expression_statement "local_d4._0_1_ = (byte)(uStack_90 >> 0x18);" (assignment_expression "local_d4._0_1_ = (byte)(uStack_90 >> 0x18)" (field_expression "local_d4._0_1_" (identifier "local_d4") (. ".") (field_identifier "_0_1_")) (= "=") (call_expression "(byte)(uStack_90 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_90 >> 0x18)" (( "(") (binary_expression "uStack_90 >> 0x18" (identifier "uStack_90") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (if_statement "if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }" (if "if") (parenthesized_expression "((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0)" (( "(") (binary_expression "(((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0" (binary_expression "(((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40)" (( "(") (binary_expression "((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40" (parenthesized_expression "((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10))" (( "(") (binary_expression "(byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)" (call_expression "(byte)(uStack_90 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_90 >> 0x10)" (( "(") (binary_expression "uStack_90 >> 0x10" (identifier "uStack_90") (>> ">>") (number_literal "0x10")) () ")"))) (^ "^") (call_expression "(byte)(_DAT_00089030 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(_DAT_00089030 >> 0x10)" (( "(") (binary_expression "_DAT_00089030 >> 0x10" (identifier "_DAT_00089030") (>> ">>") (number_literal "0x10")) () ")")))) () ")")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0" (parenthesized_expression "(((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2)" (( "(") (binary_expression "((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2" (parenthesized_expression "((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4)" (( "(") (binary_expression "(byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4" (call_expression "(byte)(_DAT_00089030 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(_DAT_00089030 >> 0x18)" (( "(") (binary_expression "_DAT_00089030 >> 0x18" (identifier "_DAT_00089030") (>> ">>") (number_literal "0x18")) () ")"))) (^ "^") (cast_expression "(byte)local_d4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_d4"))) () ")")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);\n          if (iVar19 == 0) goto LAB_0004ba48;\n          goto code_r0x0004d3b2;\n        }" ({ "{") (expression_statement "iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);" (assignment_expression "iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18)" (identifier "iVar19") (= "=") (call_expression "FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18)" (identifier "FUN_00041970") (argument_list "(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,\n                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18)" (( "(") (identifier "uStack_2c") (, ",") (identifier "uStack_28") (, ",") (identifier "_DAT_00089030") (, ",") (identifier "DAT_00089034") (, ",") (identifier "uStack_24") (, ",") (identifier "uStack_20") (, ",") (binary_expression "_DAT_00089030 >> 0x18" (identifier "_DAT_00089030") (>> ">>") (number_literal "0x18")) (, ",") (binary_expression "_DAT_00089030 >> 0x18" (identifier "_DAT_00089030") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (if_statement "if (iVar19 == 0) goto LAB_0004ba48;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";"))) (goto_statement "goto code_r0x0004d3b2;" (goto "goto") (statement_identifier "code_r0x0004d3b2") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      if (local_d4 != 3) goto LAB_0004c685;\ncode_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }\n    }" ({ "{") (if_statement "if (local_d4 != 3) goto LAB_0004c685;" (if "if") (parenthesized_expression "(local_d4 != 3)" (( "(") (binary_expression "local_d4 != 3" (identifier "local_d4") (!= "!=") (number_literal "3")) () ")")) (goto_statement "goto LAB_0004c685;" (goto "goto") (statement_identifier "LAB_0004c685") (; ";"))) (labeled_statement "code_r0x0004d445:\n      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }" (statement_identifier "code_r0x0004d445") (: ":") (if_statement "if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }" (if "if") (parenthesized_expression "(((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0))" (( "(") (binary_expression "((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||\n          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)" (parenthesized_expression "((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0)" (( "(") (binary_expression "(uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0" (binary_expression "(uStack_a0 & 0xffffff) != 0" (parenthesized_expression "(uStack_a0 & 0xffffff)" (( "(") (binary_expression "uStack_a0 & 0xffffff" (identifier "uStack_a0") (& "&") (number_literal "0xffffff")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uStack_a0 >> 0x18 & 0x1d) != 0" (parenthesized_expression "(uStack_a0 >> 0x18 & 0x1d)" (( "(") (binary_expression "uStack_a0 >> 0x18 & 0x1d" (binary_expression "uStack_a0 >> 0x18" (identifier "uStack_a0") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x1d")) () ")")) (!= "!=") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)" (( "(") (binary_expression "(uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0" (binary_expression "(uStack_9c & 0x80) != 0" (parenthesized_expression "(uStack_9c & 0x80)" (( "(") (binary_expression "uStack_9c & 0x80" (identifier "uStack_9c") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uStack_9c & 0xffffff00) != 0" (parenthesized_expression "(uStack_9c & 0xffffff00)" (( "(") (binary_expression "uStack_9c & 0xffffff00" (identifier "uStack_9c") (& "&") (number_literal "0xffffff00")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        uVar20 = _DAT_00089020 >> 0x18;\n        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);\n        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }\n      }" ({ "{") (expression_statement "uVar20 = _DAT_00089020 >> 0x18;" (assignment_expression "uVar20 = _DAT_00089020 >> 0x18" (identifier "uVar20") (= "=") (binary_expression "_DAT_00089020 >> 0x18" (identifier "_DAT_00089020") (>> ">>") (number_literal "0x18"))) (; ";")) (expression_statement "local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);" (assignment_expression "local_d4._0_1_ = (byte)(uStack_a0 >> 0x18)" (field_expression "local_d4._0_1_" (identifier "local_d4") (. ".") (field_identifier "_0_1_")) (= "=") (call_expression "(byte)(uStack_a0 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_a0 >> 0x18)" (( "(") (binary_expression "uStack_a0 >> 0x18" (identifier "uStack_a0") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (if_statement "if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }" (if "if") (parenthesized_expression "((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0)" (( "(") (binary_expression "(((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&\n            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0" (binary_expression "(((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0" (parenthesized_expression "(((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40)" (( "(") (binary_expression "((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40" (parenthesized_expression "((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10))" (( "(") (binary_expression "(byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)" (call_expression "(byte)(uStack_a0 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uStack_a0 >> 0x10)" (( "(") (binary_expression "uStack_a0 >> 0x10" (identifier "uStack_a0") (>> ">>") (number_literal "0x10")) () ")"))) (^ "^") (call_expression "(byte)(_DAT_00089020 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(_DAT_00089020 >> 0x10)" (( "(") (binary_expression "_DAT_00089020 >> 0x10" (identifier "_DAT_00089020") (>> ">>") (number_literal "0x10")) () ")")))) () ")")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0" (parenthesized_expression "(((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2)" (( "(") (binary_expression "((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2" (parenthesized_expression "((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4)" (( "(") (binary_expression "(byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4" (call_expression "(byte)(_DAT_00089020 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(_DAT_00089020 >> 0x18)" (( "(") (binary_expression "_DAT_00089020 >> 0x18" (identifier "_DAT_00089020") (>> ">>") (number_literal "0x18")) () ")"))) (^ "^") (cast_expression "(byte)local_d4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_d4"))) () ")")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n          if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;\n          goto LAB_0004c685;\n        }" ({ "{") (if_statement "if ((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))\n          goto LAB_0004ba48;" (if "if") (parenthesized_expression "((((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))))" (( "(") (binary_expression "(((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )) || (((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)))" (parenthesized_expression "(((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              ))" (( "(") (binary_expression "((local_d0 & 5) == 5) &&\n              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )" (parenthesized_expression "((local_d0 & 5) == 5)" (( "(") (binary_expression "(local_d0 & 5) == 5" (parenthesized_expression "(local_d0 & 5)" (( "(") (binary_expression "local_d0 & 5" (identifier "local_d0") (& "&") (number_literal "5")) () ")")) (== "==") (number_literal "5")) () ")")) (&& "&&") (parenthesized_expression "(iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0\n              )" (( "(") (comma_expression "iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20)" (identifier "iVar19") (= "=") (call_expression "FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20)" (identifier "FUN_00041970") (argument_list "(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,\n                                     uStack_30,uVar20,uVar20)" (( "(") (identifier "local_44") (, ",") (identifier "local_40") (, ",") (identifier "_DAT_00089020") (, ",") (identifier "_DAT_00089024") (, ",") (identifier "uStack_34") (, ",") (identifier "uStack_30") (, ",") (identifier "uVar20") (, ",") (identifier "uVar20") () ")")))) (, ",") (comma_expression "uVar20 = extraout_ECX_00, iVar19 == 0" (assignment_expression "uVar20 = extraout_ECX_00" (identifier "uVar20") (= "=") (identifier "extraout_ECX_00")) (, ",") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)))" (( "(") (parenthesized_expression "((local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0))" (( "(") (binary_expression "(local_d0 & 6) == 6 &&\n                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)" (binary_expression "(local_d0 & 6) == 6" (parenthesized_expression "(local_d0 & 6)" (( "(") (binary_expression "local_d0 & 6" (identifier "local_d0") (& "&") (number_literal "6")) () ")")) (== "==") (number_literal "6")) (&& "&&") (parenthesized_expression "(iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0)" (( "(") (comma_expression "iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20), iVar19 == 0" (assignment_expression "iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20)" (identifier "iVar19") (= "=") (call_expression "FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20)" (identifier "FUN_00041970") (argument_list "(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,\n                                            uStack_30,uVar20,uVar20)" (( "(") (identifier "local_3c") (, ",") (identifier "local_38") (, ",") (identifier "_DAT_00089020") (, ",") (identifier "_DAT_00089024") (, ",") (identifier "uStack_34") (, ",") (identifier "uStack_30") (, ",") (identifier "uVar20") (, ",") (identifier "uVar20") () ")")))) (, ",") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";"))) (goto_statement "goto LAB_0004c685;" (goto "goto") (statement_identifier "LAB_0004c685") (; ";")) (} "}"))) (} "}")))) (} "}")))))) (labeled_statement "code_r0x0004c880:\n    DAT_000890f8 = 1;" (statement_identifier "code_r0x0004c880") (: ":") (expression_statement "DAT_000890f8 = 1;" (assignment_expression "DAT_000890f8 = 1" (identifier "DAT_000890f8") (= "=") (number_literal "1")) (; ";"))) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}")))) (expression_statement "DAT_000890f8 = 1;" (assignment_expression "DAT_000890f8 = 1" (identifier "DAT_000890f8") (= "=") (number_literal "1")) (; ";")) (labeled_statement "code_r0x0004c7ec:\n  bVar4 = *(byte *)(puVar32 + 9);" (statement_identifier "code_r0x0004c7ec") (: ":") (expression_statement "bVar4 = *(byte *)(puVar32 + 9);" (assignment_expression "bVar4 = *(byte *)(puVar32 + 9)" (identifier "bVar4") (= "=") (pointer_expression "*(byte *)(puVar32 + 9)" (* "*") (cast_expression "(byte *)(puVar32 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 9)" (( "(") (binary_expression "puVar32 + 9" (identifier "puVar32") (+ "+") (number_literal "9")) () ")"))))) (; ";"))) (if_statement "if ((bVar4 & 1) == 0) goto LAB_0004ba48;" (if "if") (parenthesized_expression "((bVar4 & 1) == 0)" (( "(") (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" (( "(") (binary_expression "bVar4 & 1" (identifier "bVar4") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";"))) (labeled_statement "code_r0x0004c7fc:\n  uVar28 = DAT_00089010 & local_3c;" (statement_identifier "code_r0x0004c7fc") (: ":") (expression_statement "uVar28 = DAT_00089010 & local_3c;" (assignment_expression "uVar28 = DAT_00089010 & local_3c" (identifier "uVar28") (= "=") (binary_expression "DAT_00089010 & local_3c" (identifier "DAT_00089010") (& "&") (identifier "local_3c"))) (; ";"))) (if_statement "if (((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))\n  goto code_r0x0004c880;" (if "if") (parenthesized_expression "(((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))" (( "(") (binary_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0)" (parenthesized_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0)" (( "(") (binary_expression "(uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0" (binary_expression "(uVar28 & 0xffffff) == 0" (parenthesized_expression "(uVar28 & 0xffffff)" (( "(") (binary_expression "uVar28 & 0xffffff" (identifier "uVar28") (& "&") (number_literal "0xffffff")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uVar28 >> 0x18 & 0x1d) == 0" (parenthesized_expression "(uVar28 >> 0x18 & 0x1d)" (( "(") (binary_expression "uVar28 >> 0x18 & 0x1d" (binary_expression "uVar28 >> 0x18" (identifier "uVar28") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x1d")) () ")")) (== "==") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0)" (( "(") (binary_expression "(DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0" (binary_expression "(DAT_00089014 & local_38 & 0xffffff00) == 0" (parenthesized_expression "(DAT_00089014 & local_38 & 0xffffff00)" (( "(") (binary_expression "DAT_00089014 & local_38 & 0xffffff00" (binary_expression "DAT_00089014 & local_38" (identifier "DAT_00089014") (& "&") (identifier "local_38")) (& "&") (number_literal "0xffffff00")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(DAT_00089014 & local_38 & 0x80) == 0" (parenthesized_expression "(DAT_00089014 & local_38 & 0x80)" (( "(") (binary_expression "DAT_00089014 & local_38 & 0x80" (binary_expression "DAT_00089014 & local_38" (identifier "DAT_00089014") (& "&") (identifier "local_38")) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto code_r0x0004c880;" (goto "goto") (statement_identifier "code_r0x0004c880") (; ";"))) (expression_statement "local_c0 = (byte)(uVar28 >> 0x18);" (assignment_expression "local_c0 = (byte)(uVar28 >> 0x18)" (identifier "local_c0") (= "=") (call_expression "(byte)(uVar28 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar28 >> 0x18)" (( "(") (binary_expression "uVar28 >> 0x18" (identifier "uVar28") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (if_statement "if ((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))\n  goto code_r0x0004c880;" (if "if") (parenthesized_expression "((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))" (( "(") (binary_expression "(((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||\n     (local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0)" (parenthesized_expression "(((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)))" (( "(") (binary_expression "((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0) ||\n      (uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))" (parenthesized_expression "((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0)" (( "(") (binary_expression "(((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||\n        ((bVar29 ^ local_c0) & 2) != 0" (binary_expression "(((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0" (parenthesized_expression "(((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40)" (( "(") (binary_expression "((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40" (parenthesized_expression "((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_)" (( "(") (binary_expression "(byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_" (call_expression "(byte)(uVar28 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar28 >> 0x10)" (( "(") (binary_expression "uVar28 >> 0x10" (identifier "uVar28") (>> ">>") (number_literal "0x10")) () ")"))) (^ "^") (field_expression "DAT_00089010._2_1_" (identifier "DAT_00089010") (. ".") (field_identifier "_2_1_"))) () ")")) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "((bVar29 ^ local_c0) & 2) != 0" (parenthesized_expression "((bVar29 ^ local_c0) & 2)" (( "(") (binary_expression "(bVar29 ^ local_c0) & 2" (parenthesized_expression "(bVar29 ^ local_c0)" (( "(") (binary_expression "bVar29 ^ local_c0" (identifier "bVar29") (^ "^") (identifier "local_c0")) () ")")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "(uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))" (( "(") (comma_expression "uVar28 = local_44 & DAT_00089018,\n      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)" (assignment_expression "uVar28 = local_44 & DAT_00089018" (identifier "uVar28") (= "=") (binary_expression "local_44 & DAT_00089018" (identifier "local_44") (& "&") (identifier "DAT_00089018"))) (, ",") (binary_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&\n      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)" (parenthesized_expression "((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0)" (( "(") (binary_expression "(uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0" (binary_expression "(uVar28 & 0xffffff) == 0" (parenthesized_expression "(uVar28 & 0xffffff)" (( "(") (binary_expression "uVar28 & 0xffffff" (identifier "uVar28") (& "&") (number_literal "0xffffff")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uVar28 >> 0x18 & 0x1d) == 0" (parenthesized_expression "(uVar28 >> 0x18 & 0x1d)" (( "(") (binary_expression "uVar28 >> 0x18 & 0x1d" (binary_expression "uVar28 >> 0x18" (identifier "uVar28") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x1d")) () ")")) (== "==") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0)" (( "(") (binary_expression "(local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0" (binary_expression "(local_40 & DAT_0008901c & 0xffffff00) == 0" (parenthesized_expression "(local_40 & DAT_0008901c & 0xffffff00)" (( "(") (binary_expression "local_40 & DAT_0008901c & 0xffffff00" (binary_expression "local_40 & DAT_0008901c" (identifier "local_40") (& "&") (identifier "DAT_0008901c")) (& "&") (number_literal "0xffffff00")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(local_40 & DAT_0008901c & 0x80) == 0" (parenthesized_expression "(local_40 & DAT_0008901c & 0x80)" (( "(") (binary_expression "local_40 & DAT_0008901c & 0x80" (binary_expression "local_40 & DAT_0008901c" (identifier "local_40") (& "&") (identifier "DAT_0008901c")) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0"))) () ")")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0)" (( "(") (comma_expression "local_c0 = (byte)(uVar28 >> 0x18),\n     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0" (assignment_expression "local_c0 = (byte)(uVar28 >> 0x18)" (identifier "local_c0") (= "=") (call_expression "(byte)(uVar28 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar28 >> 0x18)" (( "(") (binary_expression "uVar28 >> 0x18" (identifier "uVar28") (>> ">>") (number_literal "0x18")) () ")")))) (, ",") (binary_expression "(((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0" (binary_expression "(((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0" (parenthesized_expression "(((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40)" (( "(") (binary_expression "((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40" (parenthesized_expression "((byte)(uVar28 >> 0x10) ^ bVar18)" (( "(") (binary_expression "(byte)(uVar28 >> 0x10) ^ bVar18" (call_expression "(byte)(uVar28 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar28 >> 0x10)" (( "(") (binary_expression "uVar28 >> 0x10" (identifier "uVar28") (>> ">>") (number_literal "0x10")) () ")"))) (^ "^") (identifier "bVar18")) () ")")) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "((bVar30 ^ local_c0) & 2) != 0" (parenthesized_expression "((bVar30 ^ local_c0) & 2)" (( "(") (binary_expression "(bVar30 ^ local_c0) & 2" (parenthesized_expression "(bVar30 ^ local_c0)" (( "(") (binary_expression "bVar30 ^ local_c0" (identifier "bVar30") (^ "^") (identifier "local_c0")) () ")")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")))) () ")"))) () ")")) (goto_statement "goto code_r0x0004c880;" (goto "goto") (statement_identifier "code_r0x0004c880") (; ";"))) (if_statement "if (local_d0 != 0) {\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }" (if "if") (parenthesized_expression "(local_d0 != 0)" (( "(") (binary_expression "local_d0 != 0" (identifier "local_d0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }\n  }" ({ "{") (if_statement "if (((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }" (if "if") (parenthesized_expression "(((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))))))))" (( "(") (binary_expression "((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))) &&\n       ((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))" (parenthesized_expression "((((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0))))))" (( "(") (binary_expression "(((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))) &&\n        (((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))" (parenthesized_expression "(((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0))))" (( "(") (binary_expression "((DAT_00089010 & 5) != 0) ||\n         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))" (parenthesized_expression "((DAT_00089010 & 5) != 0)" (( "(") (binary_expression "(DAT_00089010 & 5) != 0" (parenthesized_expression "(DAT_00089010 & 5)" (( "(") (binary_expression "DAT_00089010 & 5" (identifier "DAT_00089010") (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)))" (( "(") (parenthesized_expression "(((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0))" (( "(") (binary_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&\n          ((local_3c & 4) != 0)" (parenthesized_expression "((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0))" (( "(") (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)" (binary_expression "(DAT_00089010 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089010 >> 0x10 & 0x5f)" (( "(") (binary_expression "DAT_00089010 >> 0x10 & 0x5f" (binary_expression "DAT_00089010 >> 0x10" (identifier "DAT_00089010") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x5f")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((DAT_00089014 & 0x40) == 0)" (( "(") (binary_expression "(DAT_00089014 & 0x40) == 0" (parenthesized_expression "(DAT_00089014 & 0x40)" (( "(") (binary_expression "DAT_00089014 & 0x40" (identifier "DAT_00089014") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_3c & 4) != 0)" (( "(") (binary_expression "(local_3c & 4) != 0" (parenthesized_expression "(local_3c & 4)" (( "(") (binary_expression "local_3c & 4" (identifier "local_3c") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))))" (( "(") (parenthesized_expression "((DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0))))" (( "(") (binary_expression "(DAT_00089018 & 5) != 0 ||\n         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))" (binary_expression "(DAT_00089018 & 5) != 0" (parenthesized_expression "(DAT_00089018 & 5)" (( "(") (binary_expression "DAT_00089018 & 5" (identifier "DAT_00089018") (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)))" (( "(") (parenthesized_expression "(((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0))" (( "(") (binary_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&\n          ((local_44 & 4) != 0)" (parenthesized_expression "((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0))" (( "(") (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)" (binary_expression "(DAT_00089018 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(DAT_00089018 >> 0x10 & 0x5f)" (( "(") (binary_expression "DAT_00089018 >> 0x10 & 0x5f" (binary_expression "DAT_00089018 >> 0x10" (identifier "DAT_00089018") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x5f")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((DAT_0008901c & 0x40) == 0)" (( "(") (binary_expression "(DAT_0008901c & 0x40) == 0" (parenthesized_expression "(DAT_0008901c & 0x40)" (( "(") (binary_expression "DAT_0008901c & 0x40" (identifier "DAT_0008901c") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_44 & 4) != 0)" (( "(") (binary_expression "(local_44 & 4) != 0" (parenthesized_expression "(local_44 & 4)" (( "(") (binary_expression "local_44 & 4" (identifier "local_44") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))" (( "(") (parenthesized_expression "(((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))))))" (( "(") (binary_expression "((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&\n        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))" (parenthesized_expression "((char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0))" (( "(") (binary_expression "(char)(bVar29 ^ bVar30) < '\0' ||\n         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)" (binary_expression "(char)(bVar29 ^ bVar30) < '\0'" (cast_expression "(char)(bVar29 ^ bVar30)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(bVar29 ^ bVar30)" (( "(") (binary_expression "bVar29 ^ bVar30" (identifier "bVar29") (^ "^") (identifier "bVar30")) () ")"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (|| "||") (parenthesized_expression "(((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)" (( "(") (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0" (binary_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0" (parenthesized_expression "((local_c8 ^ (byte)DAT_0008901c) & 0x3a)" (( "(") (binary_expression "(local_c8 ^ (byte)DAT_0008901c) & 0x3a" (parenthesized_expression "(local_c8 ^ (byte)DAT_0008901c)" (( "(") (binary_expression "local_c8 ^ (byte)DAT_0008901c" (identifier "local_c8") (^ "^") (cast_expression "(byte)DAT_0008901c" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_0008901c"))) () ")")) (& "&") (number_literal "0x3a")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "((bVar29 ^ bVar30) & 0x60) != 0" (parenthesized_expression "((bVar29 ^ bVar30) & 0x60)" (( "(") (binary_expression "(bVar29 ^ bVar30) & 0x60" (parenthesized_expression "(bVar29 ^ bVar30)" (( "(") (binary_expression "bVar29 ^ bVar30" (identifier "bVar29") (^ "^") (identifier "bVar30")) () ")")) (& "&") (number_literal "0x60")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))" (( "(") (parenthesized_expression "((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))))" (( "(") (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||\n         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))" (binary_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0" (parenthesized_expression "(bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1)" (( "(") (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1" (binary_expression "bStack_39 >> 5 & 1 & local_44._3_1_ >> 5" (binary_expression "bStack_39 >> 5 & 1" (binary_expression "bStack_39 >> 5" (identifier "bStack_39") (>> ">>") (number_literal "5")) (& "&") (number_literal "1")) (& "&") (binary_expression "local_44._3_1_ >> 5" (field_expression "local_44._3_1_" (identifier "local_44") (. ".") (field_identifier "_3_1_")) (>> ">>") (number_literal "5"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))" (( "(") (parenthesized_expression "(((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0))" (( "(") (binary_expression "((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||\n          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)" (parenthesized_expression "((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0))))" (( "(") (binary_expression "(((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||\n           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))" (parenthesized_expression "(((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0))" (( "(") (binary_expression "((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||\n            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)" (parenthesized_expression "((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0'))" (( "(") (binary_expression "(local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||\n             ((char)(local_44._3_1_ & bStack_39) < '\0')" (binary_expression "(local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0" (parenthesized_expression "(local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1)" (( "(") (binary_expression "local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1" (binary_expression "local_44._3_1_ >> 6 & 1 & bStack_39 >> 6" (binary_expression "local_44._3_1_ >> 6 & 1" (binary_expression "local_44._3_1_ >> 6" (field_expression "local_44._3_1_" (identifier "local_44") (. ".") (field_identifier "_3_1_")) (>> ">>") (number_literal "6")) (& "&") (number_literal "1")) (& "&") (binary_expression "bStack_39 >> 6" (identifier "bStack_39") (>> ">>") (number_literal "6"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((char)(local_44._3_1_ & bStack_39) < '\0')" (( "(") (binary_expression "(char)(local_44._3_1_ & bStack_39) < '\0'" (cast_expression "(char)(local_44._3_1_ & bStack_39)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(local_44._3_1_ & bStack_39)" (( "(") (binary_expression "local_44._3_1_ & bStack_39" (field_expression "local_44._3_1_" (identifier "local_44") (. ".") (field_identifier "_3_1_")) (& "&") (identifier "bStack_39")) () ")"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)" (( "(") (binary_expression "((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1)" (( "(") (binary_expression "(byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1" (binary_expression "(byte)local_38 >> 1 & 1 & (byte)local_40 >> 1" (binary_expression "(byte)local_38 >> 1 & 1" (binary_expression "(byte)local_38 >> 1" (cast_expression "(byte)local_38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_38")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) (& "&") (binary_expression "(byte)local_40 >> 1" (cast_expression "(byte)local_40" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_40")) (>> ">>") (number_literal "1"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))" (( "(") (parenthesized_expression "(((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0))" (( "(") (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||\n            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" (binary_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0" (parenthesized_expression "((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1)" (( "(") (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1" (binary_expression "(byte)local_38 >> 3 & 1 & (byte)local_40 >> 3" (binary_expression "(byte)local_38 >> 3 & 1" (binary_expression "(byte)local_38 >> 3" (cast_expression "(byte)local_38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_38")) (>> ">>") (number_literal "3")) (& "&") (number_literal "1")) (& "&") (binary_expression "(byte)local_40 >> 3" (cast_expression "(byte)local_40" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_40")) (>> ">>") (number_literal "3"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)" (( "(") (binary_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1)" (( "(") (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1" (binary_expression "(byte)local_40 >> 4 & 1 & (byte)local_38 >> 4" (binary_expression "(byte)local_40 >> 4 & 1" (binary_expression "(byte)local_40 >> 4" (cast_expression "(byte)local_40" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_40")) (>> ">>") (number_literal "4")) (& "&") (number_literal "1")) (& "&") (binary_expression "(byte)local_38 >> 4" (cast_expression "(byte)local_38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_38")) (>> ">>") (number_literal "4"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)" (( "(") (binary_expression "((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0" (parenthesized_expression "((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1)" (( "(") (binary_expression "(byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1" (binary_expression "(byte)local_40 >> 5 & 1 & (byte)local_38 >> 5" (binary_expression "(byte)local_40 >> 5 & 1" (binary_expression "(byte)local_40 >> 5" (cast_expression "(byte)local_40" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_40")) (>> ">>") (number_literal "5")) (& "&") (number_literal "1")) (& "&") (binary_expression "(byte)local_38 >> 5" (cast_expression "(byte)local_38" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_38")) (>> ">>") (number_literal "5"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      DAT_000890f8 = 2;\n      goto LAB_0004ba48;\n    }" ({ "{") (expression_statement "DAT_000890f8 = 2;" (assignment_expression "DAT_000890f8 = 2" (identifier "DAT_000890f8") (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))) (} "}"))) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" (identifier "local_dc") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((bVar4 & 1) != 0) {\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }" (if "if") (parenthesized_expression "((bVar4 & 1) != 0)" (( "(") (binary_expression "(bVar4 & 1) != 0" (parenthesized_expression "(bVar4 & 1)" (( "(") (binary_expression "bVar4 & 1" (identifier "bVar4") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;\n  }" ({ "{") (expression_statement "local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;" (assignment_expression "local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400" (identifier "local_dc") (= "=") (binary_expression "(-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400" (parenthesized_expression "(-(uint)((local_40 & 4) == 0) & 0xfffffc02)" (( "(") (binary_expression "-(uint)((local_40 & 4) == 0) & 0xfffffc02" (unary_expression "-(uint)((local_40 & 4) == 0)" (- "-") (call_expression "(uint)((local_40 & 4) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((local_40 & 4) == 0)" (( "(") (binary_expression "(local_40 & 4) == 0" (parenthesized_expression "(local_40 & 4)" (( "(") (binary_expression "local_40 & 4" (identifier "local_40") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xfffffc02")) () ")")) (+ "+") (number_literal "0x400"))) (; ";")) (} "}"))) (expression_statement "uVar28 = local_dc | 8;" (assignment_expression "uVar28 = local_dc | 8" (identifier "uVar28") (= "=") (binary_expression "local_dc | 8" (identifier "local_dc") (| "|") (number_literal "8"))) (; ";")) (if_statement "if ((*(byte *)((int)puVar32 + 0x25) & 4) == 0) {\n    uVar28 = local_dc;\n  }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar32 + 0x25) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + 0x25) & 4) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x25) & 4)" (( "(") (binary_expression "*(byte *)((int)puVar32 + 0x25) & 4" (pointer_expression "*(byte *)((int)puVar32 + 0x25)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x25)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x25)" (( "(") (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x25")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar28 = local_dc;\n  }" ({ "{") (expression_statement "uVar28 = local_dc;" (assignment_expression "uVar28 = local_dc" (identifier "uVar28") (= "=") (identifier "local_dc")) (; ";")) (} "}"))) (labeled_statement "LAB_0004c685:\n  local_dc = uVar28;" (statement_identifier "LAB_0004c685") (: ":") (expression_statement "local_dc = uVar28;" (assignment_expression "local_dc = uVar28" (identifier "local_dc") (= "=") (identifier "uVar28")) (; ";"))) (if_statement "if ((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))) {\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }" (if "if") (parenthesized_expression "((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0))))" (( "(") (binary_expression "(((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&\n     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))" (parenthesized_expression "(((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0))" (( "(") (binary_expression "((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)" (parenthesized_expression "((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0))" (( "(") (binary_expression "(((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||\n       ((puVar32[6] & DAT_0006537c) != 0)" (parenthesized_expression "(((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0))" (( "(") (binary_expression "((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)" (parenthesized_expression "((puVar32[8] & DAT_00065384) != 0)" (( "(") (binary_expression "(puVar32[8] & DAT_00065384) != 0" (parenthesized_expression "(puVar32[8] & DAT_00065384)" (( "(") (binary_expression "puVar32[8] & DAT_00065384" (subscript_expression "puVar32[8]" (identifier "puVar32") ([ "[") (number_literal "8") (] "]")) (& "&") (identifier "DAT_00065384")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((puVar32[7] & DAT_00065380) != 0)" (( "(") (binary_expression "(puVar32[7] & DAT_00065380) != 0" (parenthesized_expression "(puVar32[7] & DAT_00065380)" (( "(") (binary_expression "puVar32[7] & DAT_00065380" (subscript_expression "puVar32[7]" (identifier "puVar32") ([ "[") (number_literal "7") (] "]")) (& "&") (identifier "DAT_00065380")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((puVar32[6] & DAT_0006537c) != 0)" (( "(") (binary_expression "(puVar32[6] & DAT_0006537c) != 0" (parenthesized_expression "(puVar32[6] & DAT_0006537c)" (( "(") (binary_expression "puVar32[6] & DAT_0006537c" (subscript_expression "puVar32[6]" (identifier "puVar32") ([ "[") (number_literal "6") (] "]")) (& "&") (identifier "DAT_0006537c")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((puVar32[5] & DAT_00065378) != 0)" (( "(") (binary_expression "(puVar32[5] & DAT_00065378) != 0" (parenthesized_expression "(puVar32[5] & DAT_00065378)" (( "(") (binary_expression "puVar32[5] & DAT_00065378" (subscript_expression "puVar32[5]" (identifier "puVar32") ([ "[") (number_literal "5") (] "]")) (& "&") (identifier "DAT_00065378")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))" (( "(") (parenthesized_expression "(((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0))" (( "(") (binary_expression "((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)" (binary_expression "((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0" (parenthesized_expression "((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8)" (( "(") (binary_expression "(*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8" (parenthesized_expression "(*(byte *)(puVar32 + 6) | (byte)DAT_00080540)" (( "(") (binary_expression "*(byte *)(puVar32 + 6) | (byte)DAT_00080540" (pointer_expression "*(byte *)(puVar32 + 6)" (* "*") (cast_expression "(byte *)(puVar32 + 6)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 6)" (( "(") (binary_expression "puVar32 + 6" (identifier "puVar32") (+ "+") (number_literal "6")) () ")")))) (| "|") (cast_expression "(byte)DAT_00080540" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_00080540"))) () ")")) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(puVar32[1] != 0)" (( "(") (binary_expression "puVar32[1] != 0" (subscript_expression "puVar32[1]" (identifier "puVar32") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    iVar19 = 0;\n    do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);\n  }" ({ "{") (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    } while (puVar32[1] != iVar19);" (do "do") (compound_statement "{\n      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;\n      iVar19 = iVar19 + 1;\n    }" ({ "{") (if_statement "if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;" (if "if") (parenthesized_expression "(((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0))))" (( "(") (binary_expression "((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&\n         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))" (parenthesized_expression "((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0" (parenthesized_expression "(*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20)" (( "(") (binary_expression "*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20" (pointer_expression "*(byte *)(puVar32 + iVar19 * 2 + 0xd)" (* "*") (cast_expression "(byte *)(puVar32 + iVar19 * 2 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar19 * 2 + 0xd)" (( "(") (binary_expression "puVar32 + iVar19 * 2 + 0xd" (binary_expression "puVar32 + iVar19 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar19 * 2" (identifier "iVar19") (* "*") (number_literal "2"))) (+ "+") (number_literal "0xd")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))" (( "(") (parenthesized_expression "((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0))" (( "(") (binary_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||\n          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)" (binary_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10)" (( "(") (binary_expression "*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10" (pointer_expression "*(byte *)(&DAT_00089014 + iVar19 * 2)" (* "*") (cast_expression "(byte *)(&DAT_00089014 + iVar19 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00089014 + iVar19 * 2)" (( "(") (binary_expression "&DAT_00089014 + iVar19 * 2" (pointer_expression "&DAT_00089014" (& "&") (identifier "DAT_00089014")) (+ "+") (binary_expression "iVar19 * 2" (identifier "iVar19") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)" (( "(") (binary_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0" (parenthesized_expression "(*(byte *)(&DAT_00089014 + iVar19 * 2) & 8)" (( "(") (binary_expression "*(byte *)(&DAT_00089014 + iVar19 * 2) & 8" (pointer_expression "*(byte *)(&DAT_00089014 + iVar19 * 2)" (* "*") (cast_expression "(byte *)(&DAT_00089014 + iVar19 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00089014 + iVar19 * 2)" (( "(") (binary_expression "&DAT_00089014 + iVar19 * 2" (pointer_expression "&DAT_00089014" (& "&") (identifier "DAT_00089014")) (+ "+") (binary_expression "iVar19 * 2" (identifier "iVar19") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004cc2a;" (goto "goto") (statement_identifier "LAB_0004cc2a") (; ";"))) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar32[1] != iVar19)" (( "(") (binary_expression "puVar32[1] != iVar19" (subscript_expression "puVar32[1]" (identifier "puVar32") ([ "[") (number_literal "1") (] "]")) (!= "!=") (identifier "iVar19")) () ")")) (; ";")) (} "}"))) (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30;" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30" (identifier "bVar17") (= "=") (binary_expression "*(byte *)((int)puVar32 + 0x2a) & 0x30" (pointer_expression "*(byte *)((int)puVar32 + 0x2a)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x2a)" (( "(") (binary_expression "(int)puVar32 + 0x2a" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x30"))) (; ";")) (if_statement "if ((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0) {\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x2a) & 0x30)" (( "(") (binary_expression "*(byte *)((int)puVar32 + 0x2a) & 0x30" (pointer_expression "*(byte *)((int)puVar32 + 0x2a)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x2a)" (( "(") (binary_expression "(int)puVar32 + 0x2a" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x30")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }\n    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;\n    goto LAB_0004c71a;\n  }" ({ "{") (if_statement "if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }" (if "if") (parenthesized_expression "((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0))" (( "(") (binary_expression "(DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)" (parenthesized_expression "(DAT_00089078 != 0)" (( "(") (binary_expression "DAT_00089078 != 0" (identifier "DAT_00089078") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_00089078 + 8) & 0x38) != 0" (parenthesized_expression "(*(byte *)(DAT_00089078 + 8) & 0x38)" (( "(") (binary_expression "*(byte *)(DAT_00089078 + 8) & 0x38" (pointer_expression "*(byte *)(DAT_00089078 + 8)" (* "*") (cast_expression "(byte *)(DAT_00089078 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089078 + 8)" (( "(") (binary_expression "DAT_00089078 + 8" (identifier "DAT_00089078") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0x38")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      DAT_000890f8 = 0xb;\n      local_e0 = 0xb;\n      goto LAB_0004ba48;\n    }" ({ "{") (expression_statement "DAT_000890f8 = 0xb;" (assignment_expression "DAT_000890f8 = 0xb" (identifier "DAT_000890f8") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "local_e0 = 0xb;" (assignment_expression "local_e0 = 0xb" (identifier "local_e0") (= "=") (number_literal "0xb")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;" (if "if") (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 8) != 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + 0xb) & 8) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 8)" (( "(") (binary_expression "*(byte *)(puVar32 + 0xb) & 8" (pointer_expression "*(byte *)(puVar32 + 0xb)" (* "*") (cast_expression "(byte *)(puVar32 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0xb)" (( "(") (binary_expression "puVar32 + 0xb" (identifier "puVar32") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004c6f7;" (goto "goto") (statement_identifier "LAB_0004c6f7") (; ";"))) (goto_statement "goto LAB_0004c71a;" (goto "goto") (statement_identifier "LAB_0004c71a") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(puVar32 + 0xb) & 8) != 0) {\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }" (if "if") (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 8) != 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + 0xb) & 8) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 8)" (( "(") (binary_expression "*(byte *)(puVar32 + 0xb) & 8" (pointer_expression "*(byte *)(puVar32 + 0xb)" (* "*") (cast_expression "(byte *)(puVar32 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0xb)" (( "(") (binary_expression "puVar32 + 0xb" (identifier "puVar32") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }\n    if (bVar17 == 0) goto LAB_0004c71a;\n  }" ({ "{") (labeled_statement "LAB_0004c6f7:\n    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }" (statement_identifier "LAB_0004c6f7") (: ":") (if_statement "if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }" (if "if") (parenthesized_expression "((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0'))" (( "(") (binary_expression "(DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')" (parenthesized_expression "(DAT_000890c4 == (int *)0x0)" (( "(") (binary_expression "DAT_000890c4 == (int *)0x0" (identifier "DAT_000890c4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(*DAT_000890c4 + 0xd) == '\0')" (( "(") (binary_expression "*(char *)(*DAT_000890c4 + 0xd) == '\0'" (pointer_expression "*(char *)(*DAT_000890c4 + 0xd)" (* "*") (cast_expression "(char *)(*DAT_000890c4 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*DAT_000890c4 + 0xd)" (( "(") (binary_expression "*DAT_000890c4 + 0xd" (pointer_expression "*DAT_000890c4" (* "*") (identifier "DAT_000890c4")) (+ "+") (number_literal "0xd")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      DAT_000890f8 = 0x11;\n      local_e0 = 0x11;\n      goto LAB_0004ba48;\n    }" ({ "{") (expression_statement "DAT_000890f8 = 0x11;" (assignment_expression "DAT_000890f8 = 0x11" (identifier "DAT_000890f8") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "local_e0 = 0x11;" (assignment_expression "local_e0 = 0x11" (identifier "local_e0") (= "=") (number_literal "0x11")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}")))) (if_statement "if (bVar17 == 0) goto LAB_0004c71a;" (if "if") (parenthesized_expression "(bVar17 == 0)" (( "(") (binary_expression "bVar17 == 0" (identifier "bVar17") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004c71a;" (goto "goto") (statement_identifier "LAB_0004c71a") (; ";"))) (} "}"))) (if_statement "if (DAT_00089078 != 0) {\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }" (if "if") (parenthesized_expression "(DAT_00089078 != 0)" (( "(") (binary_expression "DAT_00089078 != 0" (identifier "DAT_00089078") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }\n    if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }\n  }" ({ "{") (if_statement "if (bVar17 == 0x10) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }\n    else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" (if "if") (parenthesized_expression "(bVar17 == 0x10)" (( "(") (binary_expression "bVar17 == 0x10" (identifier "bVar17") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;\n    }" ({ "{") (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 8) & 8;" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 8) & 8" (identifier "bVar17") (= "=") (binary_expression "*(byte *)(DAT_00089078 + 8) & 8" (pointer_expression "*(byte *)(DAT_00089078 + 8)" (* "*") (cast_expression "(byte *)(DAT_00089078 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089078 + 8)" (( "(") (binary_expression "DAT_00089078 + 8" (identifier "DAT_00089078") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" (else "else") (if_statement "if (bVar17 == 0x20) {\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }\n    else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" (if "if") (parenthesized_expression "(bVar17 == 0x20)" (( "(") (binary_expression "bVar17 == 0x20" (identifier "bVar17") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;\n    }" ({ "{") (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10" (identifier "bVar17") (= "=") (binary_expression "*(byte *)(DAT_00089078 + 8) & 0x10" (pointer_expression "*(byte *)(DAT_00089078 + 8)" (* "*") (cast_expression "(byte *)(DAT_00089078 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089078 + 8)" (( "(") (binary_expression "DAT_00089078 + 8" (identifier "DAT_00089078") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0x10"))) (; ";")) (} "}")) (else_clause "else {\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" (else "else") (compound_statement "{\n      if (bVar17 != 0x30) goto LAB_0004cef0;\n      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;\n    }" ({ "{") (if_statement "if (bVar17 != 0x30) goto LAB_0004cef0;" (if "if") (parenthesized_expression "(bVar17 != 0x30)" (( "(") (binary_expression "bVar17 != 0x30" (identifier "bVar17") (!= "!=") (number_literal "0x30")) () ")")) (goto_statement "goto LAB_0004cef0;" (goto "goto") (statement_identifier "LAB_0004cef0") (; ";"))) (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20" (identifier "bVar17") (= "=") (binary_expression "*(byte *)(DAT_00089078 + 8) & 0x20" (pointer_expression "*(byte *)(DAT_00089078 + 8)" (* "*") (cast_expression "(byte *)(DAT_00089078 + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089078 + 8)" (( "(") (binary_expression "DAT_00089078 + 8" (identifier "DAT_00089078") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0x20"))) (; ";")) (} "}")))))) (if_statement "if (bVar17 != 0) {\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }" (if "if") (parenthesized_expression "(bVar17 != 0)" (( "(") (binary_expression "bVar17 != 0" (identifier "bVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }\nLAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }\nLAB_0004cc2a:\n      DAT_000890f8 = 8;\n      local_e0 = 8;\n      goto LAB_0004ba48;\n    }" ({ "{") (if_statement "if (DAT_00089000 == 2) {\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }\n      else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }" (if "if") (parenthesized_expression "(DAT_00089000 == 2)" (( "(") (binary_expression "DAT_00089000 == 2" (identifier "DAT_00089000") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;\n        if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }\n        if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }\n        if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }\n        if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }\n        if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }\n      }" ({ "{") (if_statement "if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;" (if "if") (parenthesized_expression "(DAT_000890c4 != (int *)0x0)" (( "(") (binary_expression "DAT_000890c4 != (int *)0x0" (identifier "DAT_000890c4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004c71a;" (goto "goto") (statement_identifier "LAB_0004c71a") (; ";"))) (if_statement "if ((DAT_00089010 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }" (if "if") (parenthesized_expression "((DAT_00089010 & 4) == 0)" (( "(") (binary_expression "(DAT_00089010 & 4) == 0" (parenthesized_expression "(DAT_00089010 & 4)" (( "(") (binary_expression "DAT_00089010 & 4" (identifier "DAT_00089010") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);\n        }" ({ "{") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x13b0") (, ",") (string_literal ""check_VecOperands"" (" """) (string_content "check_VecOperands") (" """)) (, ",") (identifier "DAT_00089078") () ")"))) (; ";")) (} "}"))) (if_statement "if ((DAT_00089014 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }" (if "if") (parenthesized_expression "((DAT_00089014 & 0x18) == 0)" (( "(") (binary_expression "(DAT_00089014 & 0x18) == 0" (parenthesized_expression "(DAT_00089014 & 0x18)" (( "(") (binary_expression "DAT_00089014 & 0x18" (identifier "DAT_00089014") (& "&") (number_literal "0x18")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);\n        }" ({ "{") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x13b2") (, ",") (string_literal ""check_VecOperands"" (" """) (string_content "check_VecOperands") (" """)) (, ",") (number_literal "2") () ")"))) (; ";")) (} "}"))) (if_statement "if ((_DAT_00089020 & 4) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }" (if "if") (parenthesized_expression "((_DAT_00089020 & 4) == 0)" (( "(") (binary_expression "(_DAT_00089020 & 4) == 0" (parenthesized_expression "(_DAT_00089020 & 4)" (( "(") (binary_expression "_DAT_00089020 & 4" (identifier "_DAT_00089020") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);\n        }" ({ "{") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x13b3") (, ",") (string_literal ""check_VecOperands"" (" """) (string_content "check_VecOperands") (" """)) (, ",") (number_literal "2") () ")"))) (; ";")) (} "}"))) (if_statement "if ((_DAT_00089024 & 0x18) == 0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }" (if "if") (parenthesized_expression "((_DAT_00089024 & 0x18) == 0)" (( "(") (binary_expression "(_DAT_00089024 & 0x18) == 0" (parenthesized_expression "(_DAT_00089024 & 0x18)" (( "(") (binary_expression "_DAT_00089024 & 0x18" (identifier "_DAT_00089024") (& "&") (number_literal "0x18")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);\n        }" ({ "{") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x13b5") (, ",") (string_literal ""check_VecOperands"" (" """) (string_content "check_VecOperands") (" """)) (, ",") (number_literal "2") () ")"))) (; ";")) (} "}"))) (if_statement "if (DAT_00080550 != 0) {\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }" (if "if") (parenthesized_expression "(DAT_00080550 != 0)" (( "(") (binary_expression "DAT_00080550 != 0" (identifier "DAT_00080550") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);\n          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          bVar17 = *(byte *)(DAT_00089078 + 0xc);\n          uVar20 = (uint)bVar17;\n          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }\n          if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }\n          if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }\n          if (DAT_00080550 == 2) goto LAB_0004ddd8;\n          pcVar26 = "mask, index, and destination registers should be distinct";\n          goto LAB_0004cd9e;\n        }" ({ "{") (expression_statement "uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);" (assignment_expression "uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd)" (identifier "uVar28") (= "=") (binary_expression "(uint)*(byte *)(DAT_00089038 + 0xd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(DAT_00089038 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089038 + 0xd)" (( "(") (binary_expression "DAT_00089038 + 0xd" (identifier "DAT_00089038") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }" (if "if") (parenthesized_expression "((*(byte *)(DAT_00089038 + 0xc) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_00089038 + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 0xc) & 1)" (( "(") (binary_expression "*(byte *)(DAT_00089038 + 0xc) & 1" (pointer_expression "*(byte *)(DAT_00089038 + 0xc)" (* "*") (cast_expression "(byte *)(DAT_00089038 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089038 + 0xc)" (( "(") (binary_expression "DAT_00089038 + 0xc" (identifier "DAT_00089038") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar28 = uVar28 + 8;\n          }" ({ "{") (expression_statement "uVar28 = uVar28 + 8;" (assignment_expression "uVar28 = uVar28 + 8" (identifier "uVar28") (= "=") (binary_expression "uVar28 + 8" (identifier "uVar28") (+ "+") (number_literal "8"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }" (if "if") (parenthesized_expression "((*(byte *)(DAT_00089038 + 0xc) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_00089038 + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_00089038 + 0xc) & 4)" (( "(") (binary_expression "*(byte *)(DAT_00089038 + 0xc) & 4" (pointer_expression "*(byte *)(DAT_00089038 + 0xc)" (* "*") (cast_expression "(byte *)(DAT_00089038 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089038 + 0xc)" (( "(") (binary_expression "DAT_00089038 + 0xc" (identifier "DAT_00089038") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar28 = uVar28 + 0x10;\n          }" ({ "{") (expression_statement "uVar28 = uVar28 + 0x10;" (assignment_expression "uVar28 = uVar28 + 0x10" (identifier "uVar28") (= "=") (binary_expression "uVar28 + 0x10" (identifier "uVar28") (+ "+") (number_literal "0x10"))) (; ";")) (} "}"))) (expression_statement "bVar17 = *(byte *)(DAT_00089078 + 0xc);" (assignment_expression "bVar17 = *(byte *)(DAT_00089078 + 0xc)" (identifier "bVar17") (= "=") (pointer_expression "*(byte *)(DAT_00089078 + 0xc)" (* "*") (cast_expression "(byte *)(DAT_00089078 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089078 + 0xc)" (( "(") (binary_expression "DAT_00089078 + 0xc" (identifier "DAT_00089078") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar20 = (uint)bVar17;" (assignment_expression "uVar20 = (uint)bVar17" (identifier "uVar20") (= "=") (cast_expression "(uint)bVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar17"))) (; ";")) (expression_statement "local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);" (assignment_expression "local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd)" (identifier "local_d4") (= "=") (binary_expression "(uint)*(byte *)(DAT_00089078 + 0xd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(DAT_00089078 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089078 + 0xd)" (( "(") (binary_expression "DAT_00089078 + 0xd" (identifier "DAT_00089078") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (if_statement "if ((bVar17 & 1) != 0) {\n            local_d4 = local_d4 + 8;\n          }" (if "if") (parenthesized_expression "((bVar17 & 1) != 0)" (( "(") (binary_expression "(bVar17 & 1) != 0" (parenthesized_expression "(bVar17 & 1)" (( "(") (binary_expression "bVar17 & 1" (identifier "bVar17") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_d4 = local_d4 + 8;\n          }" ({ "{") (expression_statement "local_d4 = local_d4 + 8;" (assignment_expression "local_d4 = local_d4 + 8" (identifier "local_d4") (= "=") (binary_expression "local_d4 + 8" (identifier "local_d4") (+ "+") (number_literal "8"))) (; ";")) (} "}"))) (if_statement "if ((bVar17 & 4) != 0) {\n            local_d4 = local_d4 + 0x10;\n          }" (if "if") (parenthesized_expression "((bVar17 & 4) != 0)" (( "(") (binary_expression "(bVar17 & 4) != 0" (parenthesized_expression "(bVar17 & 4)" (( "(") (binary_expression "bVar17 & 4" (identifier "bVar17") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_d4 = local_d4 + 0x10;\n          }" ({ "{") (expression_statement "local_d4 = local_d4 + 0x10;" (assignment_expression "local_d4 = local_d4 + 0x10" (identifier "local_d4") (= "=") (binary_expression "local_d4 + 0x10" (identifier "local_d4") (+ "+") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (local_d4 != uVar28) {\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }" (if "if") (parenthesized_expression "(local_d4 != uVar28)" (( "(") (binary_expression "local_d4 != uVar28" (identifier "local_d4") (!= "!=") (identifier "uVar28")) () ")")) (compound_statement "{\n            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);\n            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }\n            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }\n            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;\n          }" ({ "{") (expression_statement "uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);" (assignment_expression "uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd)" (identifier "uVar20") (= "=") (binary_expression "(uint)*(byte *)(DAT_00089040 + 0xd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(DAT_00089040 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089040 + 0xd)" (( "(") (binary_expression "DAT_00089040 + 0xd" (identifier "DAT_00089040") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {\n              uVar20 = uVar20 + 8;\n            }" (if "if") (parenthesized_expression "((*(byte *)(DAT_00089040 + 0xc) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_00089040 + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_00089040 + 0xc) & 1)" (( "(") (binary_expression "*(byte *)(DAT_00089040 + 0xc) & 1" (pointer_expression "*(byte *)(DAT_00089040 + 0xc)" (* "*") (cast_expression "(byte *)(DAT_00089040 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089040 + 0xc)" (( "(") (binary_expression "DAT_00089040 + 0xc" (identifier "DAT_00089040") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar20 = uVar20 + 8;\n            }" ({ "{") (expression_statement "uVar20 = uVar20 + 8;" (assignment_expression "uVar20 = uVar20 + 8" (identifier "uVar20") (= "=") (binary_expression "uVar20 + 8" (identifier "uVar20") (+ "+") (number_literal "8"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {\n              uVar20 = uVar20 + 0x10;\n            }" (if "if") (parenthesized_expression "((*(byte *)(DAT_00089040 + 0xc) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_00089040 + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_00089040 + 0xc) & 4)" (( "(") (binary_expression "*(byte *)(DAT_00089040 + 0xc) & 4" (pointer_expression "*(byte *)(DAT_00089040 + 0xc)" (* "*") (cast_expression "(byte *)(DAT_00089040 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089040 + 0xc)" (( "(") (binary_expression "DAT_00089040 + 0xc" (identifier "DAT_00089040") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar20 = uVar20 + 0x10;\n            }" ({ "{") (expression_statement "uVar20 = uVar20 + 0x10;" (assignment_expression "uVar20 = uVar20 + 0x10" (identifier "uVar20") (= "=") (binary_expression "uVar20 + 0x10" (identifier "uVar20") (+ "+") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;" (if "if") (parenthesized_expression "((local_d4 != uVar20) && (uVar28 != uVar20))" (( "(") (binary_expression "(local_d4 != uVar20) && (uVar28 != uVar20)" (parenthesized_expression "(local_d4 != uVar20)" (( "(") (binary_expression "local_d4 != uVar20" (identifier "local_d4") (!= "!=") (identifier "uVar20")) () ")")) (&& "&&") (parenthesized_expression "(uVar28 != uVar20)" (( "(") (binary_expression "uVar28 != uVar20" (identifier "uVar28") (!= "!=") (identifier "uVar20")) () ")"))) () ")")) (goto_statement "goto LAB_0004d657;" (goto "goto") (statement_identifier "LAB_0004d657") (; ";"))) (} "}"))) (if_statement "if (DAT_00080550 == 2) goto LAB_0004ddd8;" (if "if") (parenthesized_expression "(DAT_00080550 == 2)" (( "(") (binary_expression "DAT_00080550 == 2" (identifier "DAT_00080550") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_0004ddd8;" (goto "goto") (statement_identifier "LAB_0004ddd8") (; ";"))) (expression_statement "pcVar26 = "mask, index, and destination registers should be distinct";" (assignment_expression "pcVar26 = "mask, index, and destination registers should be distinct"" (identifier "pcVar26") (= "=") (string_literal ""mask, index, and destination registers should be distinct"" (" """) (string_content "mask, index, and destination registers should be distinct") (" """))) (; ";")) (goto_statement "goto LAB_0004cd9e;" (goto "goto") (statement_identifier "LAB_0004cd9e") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }" (else "else") (compound_statement "{\n        if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }\n        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }\nLAB_0004c71a:\n        iVar19 = DAT_00088ffc;\n        bVar17 = *(byte *)((int)puVar32 + 0x2b);\n        if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }\n        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }\nLAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }\n        if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }\n        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;\n        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }\n        DAT_000890d0 = 0;\n      }" ({ "{") (if_statement "if (DAT_000890c4 == (int *)0x0) {\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }" (if "if") (parenthesized_expression "(DAT_000890c4 == (int *)0x0)" (( "(") (binary_expression "DAT_000890c4 == (int *)0x0" (identifier "DAT_000890c4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);\n        }" ({ "{") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x13ad") (, ",") (string_literal ""check_VecOperands"" (" """) (string_content "check_VecOperands") (" """)) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (if_statement "if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }" (if "if") (parenthesized_expression "(((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0))" (( "(") (binary_expression "((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)" (parenthesized_expression "((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0))" (( "(") (binary_expression "(DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)" (parenthesized_expression "(DAT_00089000 == 1)" (( "(") (binary_expression "DAT_00089000 == 1" (identifier "DAT_00089000") (== "==") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((DAT_00089018 & 4) != 0)" (( "(") (binary_expression "(DAT_00089018 & 4) != 0" (parenthesized_expression "(DAT_00089018 & 4)" (( "(") (binary_expression "DAT_00089018 & 4" (identifier "DAT_00089018") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_0008901c & 0x38) != 0)" (( "(") (binary_expression "(DAT_0008901c & 0x38) != 0" (parenthesized_expression "(DAT_0008901c & 0x38)" (( "(") (binary_expression "DAT_0008901c & 0x38" (identifier "DAT_0008901c") (& "&") (number_literal "0x38")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);\n          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }\n          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }\n          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);\n          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }\n          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }\n          if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }\n        }" ({ "{") (expression_statement "uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);" (assignment_expression "uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd)" (identifier "uVar28") (= "=") (binary_expression "(uint)*(byte *)(DAT_0008903c + 0xd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(DAT_0008903c + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0008903c + 0xd)" (( "(") (binary_expression "DAT_0008903c + 0xd" (identifier "DAT_0008903c") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {\n            uVar28 = uVar28 + 8;\n          }" (if "if") (parenthesized_expression "((*(byte *)(DAT_0008903c + 0xc) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_0008903c + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 0xc) & 1)" (( "(") (binary_expression "*(byte *)(DAT_0008903c + 0xc) & 1" (pointer_expression "*(byte *)(DAT_0008903c + 0xc)" (* "*") (cast_expression "(byte *)(DAT_0008903c + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0008903c + 0xc)" (( "(") (binary_expression "DAT_0008903c + 0xc" (identifier "DAT_0008903c") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar28 = uVar28 + 8;\n          }" ({ "{") (expression_statement "uVar28 = uVar28 + 8;" (assignment_expression "uVar28 = uVar28 + 8" (identifier "uVar28") (= "=") (binary_expression "uVar28 + 8" (identifier "uVar28") (+ "+") (number_literal "8"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {\n            uVar28 = uVar28 + 0x10;\n          }" (if "if") (parenthesized_expression "((*(byte *)(DAT_0008903c + 0xc) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_0008903c + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_0008903c + 0xc) & 4)" (( "(") (binary_expression "*(byte *)(DAT_0008903c + 0xc) & 4" (pointer_expression "*(byte *)(DAT_0008903c + 0xc)" (* "*") (cast_expression "(byte *)(DAT_0008903c + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0008903c + 0xc)" (( "(") (binary_expression "DAT_0008903c + 0xc" (identifier "DAT_0008903c") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar28 = uVar28 + 0x10;\n          }" ({ "{") (expression_statement "uVar28 = uVar28 + 0x10;" (assignment_expression "uVar28 = uVar28 + 0x10" (identifier "uVar28") (= "=") (binary_expression "uVar28 + 0x10" (identifier "uVar28") (+ "+") (number_literal "0x10"))) (; ";")) (} "}"))) (expression_statement "uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);" (assignment_expression "uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd)" (identifier "uVar20") (= "=") (binary_expression "(uint)*(byte *)(DAT_00089078 + 0xd)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(DAT_00089078 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089078 + 0xd)" (( "(") (binary_expression "DAT_00089078 + 0xd" (identifier "DAT_00089078") (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {\n            uVar20 = uVar20 + 8;\n          }" (if "if") (parenthesized_expression "((*(byte *)(DAT_00089078 + 0xc) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_00089078 + 0xc) & 1) != 0" (parenthesized_expression "(*(byte *)(DAT_00089078 + 0xc) & 1)" (( "(") (binary_expression "*(byte *)(DAT_00089078 + 0xc) & 1" (pointer_expression "*(byte *)(DAT_00089078 + 0xc)" (* "*") (cast_expression "(byte *)(DAT_00089078 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089078 + 0xc)" (( "(") (binary_expression "DAT_00089078 + 0xc" (identifier "DAT_00089078") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar20 = uVar20 + 8;\n          }" ({ "{") (expression_statement "uVar20 = uVar20 + 8;" (assignment_expression "uVar20 = uVar20 + 8" (identifier "uVar20") (= "=") (binary_expression "uVar20 + 8" (identifier "uVar20") (+ "+") (number_literal "8"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {\n            uVar20 = uVar20 + 0x10;\n          }" (if "if") (parenthesized_expression "((*(byte *)(DAT_00089078 + 0xc) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(DAT_00089078 + 0xc) & 4) != 0" (parenthesized_expression "(*(byte *)(DAT_00089078 + 0xc) & 4)" (( "(") (binary_expression "*(byte *)(DAT_00089078 + 0xc) & 4" (pointer_expression "*(byte *)(DAT_00089078 + 0xc)" (* "*") (cast_expression "(byte *)(DAT_00089078 + 0xc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089078 + 0xc)" (( "(") (binary_expression "DAT_00089078 + 0xc" (identifier "DAT_00089078") (+ "+") (number_literal "0xc")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar20 = uVar20 + 0x10;\n          }" ({ "{") (expression_statement "uVar20 = uVar20 + 0x10;" (assignment_expression "uVar20 = uVar20 + 0x10" (identifier "uVar20") (= "=") (binary_expression "uVar20 + 0x10" (identifier "uVar20") (+ "+") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (uVar20 == uVar28) {\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }" (if "if") (parenthesized_expression "(uVar20 == uVar28)" (( "(") (binary_expression "uVar20 == uVar28" (identifier "uVar20") (== "==") (identifier "uVar28")) () ")")) (compound_statement "{\n            if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }\n            if (DAT_00080550 == 0) goto LAB_0004c71a;\n            pcVar26 = "index and destination registers should be distinct";\n            uVar20 = DAT_00080550;\nLAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);\n            FUN_0002bc80(uVar27);\n          }" ({ "{") (if_statement "if (DAT_00080550 == 2) {\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }" (if "if") (parenthesized_expression "(DAT_00080550 == 2)" (( "(") (binary_expression "DAT_00080550 == 2" (identifier "DAT_00080550") (== "==") (number_literal "2")) () ")")) (compound_statement "{\nLAB_0004ddd8:\n              DAT_000890f8 = 10;\n              local_e0 = 10;\n              goto LAB_0004ba48;\n            }" ({ "{") (labeled_statement "LAB_0004ddd8:\n              DAT_000890f8 = 10;" (statement_identifier "LAB_0004ddd8") (: ":") (expression_statement "DAT_000890f8 = 10;" (assignment_expression "DAT_000890f8 = 10" (identifier "DAT_000890f8") (= "=") (number_literal "10")) (; ";"))) (expression_statement "local_e0 = 10;" (assignment_expression "local_e0 = 10" (identifier "local_e0") (= "=") (number_literal "10")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))) (if_statement "if (DAT_00080550 == 0) goto LAB_0004c71a;" (if "if") (parenthesized_expression "(DAT_00080550 == 0)" (( "(") (binary_expression "DAT_00080550 == 0" (identifier "DAT_00080550") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004c71a;" (goto "goto") (statement_identifier "LAB_0004c71a") (; ";"))) (expression_statement "pcVar26 = "index and destination registers should be distinct";" (assignment_expression "pcVar26 = "index and destination registers should be distinct"" (identifier "pcVar26") (= "=") (string_literal ""index and destination registers should be distinct"" (" """) (string_content "index and destination registers should be distinct") (" """))) (; ";")) (expression_statement "uVar20 = DAT_00080550;" (assignment_expression "uVar20 = DAT_00080550" (identifier "uVar20") (= "=") (identifier "DAT_00080550")) (; ";")) (labeled_statement "LAB_0004cd9e:\n            uVar27 = dcgettext(0,pcVar26,5,uVar20);" (statement_identifier "LAB_0004cd9e") (: ":") (expression_statement "uVar27 = dcgettext(0,pcVar26,5,uVar20);" (assignment_expression "uVar27 = dcgettext(0,pcVar26,5,uVar20)" (identifier "uVar27") (= "=") (call_expression "dcgettext(0,pcVar26,5,uVar20)" (identifier "dcgettext") (argument_list "(0,pcVar26,5,uVar20)" (( "(") (number_literal "0") (, ",") (identifier "pcVar26") (, ",") (number_literal "5") (, ",") (identifier "uVar20") () ")")))) (; ";"))) (expression_statement "FUN_0002bc80(uVar27);" (call_expression "FUN_0002bc80(uVar27)" (identifier "FUN_0002bc80") (argument_list "(uVar27)" (( "(") (identifier "uVar27") () ")"))) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0004c71a:\n        iVar19 = DAT_00088ffc;" (statement_identifier "LAB_0004c71a") (: ":") (expression_statement "iVar19 = DAT_00088ffc;" (assignment_expression "iVar19 = DAT_00088ffc" (identifier "iVar19") (= "=") (identifier "DAT_00088ffc")) (; ";"))) (expression_statement "bVar17 = *(byte *)((int)puVar32 + 0x2b);" (assignment_expression "bVar17 = *(byte *)((int)puVar32 + 0x2b)" (identifier "bVar17") (= "=") (pointer_expression "*(byte *)((int)puVar32 + 0x2b)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x2b)" (( "(") (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (if_statement "if (DAT_000890cc != (int *)0x0) {\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }" (if "if") (parenthesized_expression "(DAT_000890cc != (int *)0x0)" (( "(") (binary_expression "DAT_000890cc != (int *)0x0" (identifier "DAT_000890cc") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }\nLAB_0004c7c9:\n          DAT_000890f8 = 0xc;\n          local_e0 = 0xc;\n          goto LAB_0004ba48;\n        }" ({ "{") (if_statement "if ((bVar17 & 0x20) != 0) {\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "((bVar17 & 0x20) != 0)" (( "(") (binary_expression "(bVar17 & 0x20) != 0" (parenthesized_expression "(bVar17 & 0x20)" (( "(") (binary_expression "bVar17 & 0x20" (identifier "bVar17") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_d4 = DAT_000890cc[1];\n            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);\n            if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "local_d4 = DAT_000890cc[1];" (assignment_expression "local_d4 = DAT_000890cc[1]" (identifier "local_d4") (= "=") (subscript_expression "DAT_000890cc[1]" (identifier "DAT_000890cc") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);" (assignment_expression "bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" (identifier "bVar18") (= "=") (pointer_expression "*(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3" (binary_expression "(int)&DAT_00088fa0 + (local_d4 + 0xe) * 8" (cast_expression "(int)&DAT_00088fa0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (+ "+") (binary_expression "(local_d4 + 0xe) * 8" (parenthesized_expression "(local_d4 + 0xe)" (( "(") (binary_expression "local_d4 + 0xe" (identifier "local_d4") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (if_statement "if ((bVar18 & 0x10) != 0) {\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }" (if "if") (parenthesized_expression "((bVar18 & 0x10) != 0)" (( "(") (binary_expression "(bVar18 & 0x10) != 0" (parenthesized_expression "(bVar18 & 0x10)" (( "(") (binary_expression "bVar18 & 0x10" (identifier "bVar18") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar23 = local_d4 + 6;\n              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);\n              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }\n            }" ({ "{") (expression_statement "iVar23 = local_d4 + 6;" (assignment_expression "iVar23 = local_d4 + 6" (identifier "iVar23") (= "=") (binary_expression "local_d4 + 6" (identifier "local_d4") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);" (assignment_expression "cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3)" (identifier "cVar3") (= "=") (pointer_expression "*(char *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(char *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (if_statement "if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }\n              else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" (if "if") (parenthesized_expression "(((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0)" (( "(") (binary_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0" (parenthesized_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40)" (( "(") (binary_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40" (subscript_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "(local_d4 + 0xe) * 8" (parenthesized_expression "(local_d4 + 0xe)" (( "(") (binary_expression "local_d4 + 0xe" (identifier "local_d4") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }\n              }" ({ "{") (if_statement "if (cVar3 < '\0') {\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }\n                else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }" (if "if") (parenthesized_expression "(cVar3 < '\0')" (( "(") (binary_expression "cVar3 < '\0'" (identifier "cVar3") (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  iVar24 = 4;\n                  if ((char)bVar18 < '\0') goto LAB_0004c78c;\n                }" ({ "{") (expression_statement "iVar24 = 4;" (assignment_expression "iVar24 = 4" (identifier "iVar24") (= "=") (number_literal "4")) (; ";")) (if_statement "if ((char)bVar18 < '\0') goto LAB_0004c78c;" (if "if") (parenthesized_expression "((char)bVar18 < '\0')" (( "(") (binary_expression "(char)bVar18 < '\0'" (cast_expression "(char)bVar18" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar18")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0004c78c;" (goto "goto") (statement_identifier "LAB_0004c78c") (; ";"))) (} "}")) (else_clause "else {\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }" (else "else") (compound_statement "{\n                  iVar24 = 8;\n                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;\n                }" ({ "{") (expression_statement "iVar24 = 8;" (assignment_expression "iVar24 = 8" (identifier "iVar24") (= "=") (number_literal "8")) (; ";")) (if_statement "if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;" (if "if") (parenthesized_expression "(((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0)" (( "(") (binary_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0" (parenthesized_expression "((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2)" (( "(") (binary_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2" (subscript_expression "(&DAT_00088fa4)[(local_d4 + 0xe) * 8]" (parenthesized_expression "(&DAT_00088fa4)" (( "(") (pointer_expression "&DAT_00088fa4" (& "&") (identifier "DAT_00088fa4")) () ")")) ([ "[") (binary_expression "(local_d4 + 0xe) * 8" (parenthesized_expression "(local_d4 + 0xe)" (( "(") (binary_expression "local_d4 + 0xe" (identifier "local_d4") (+ "+") (number_literal "0xe")) () ")")) (* "*") (number_literal "8")) (] "]")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004c78c;" (goto "goto") (statement_identifier "LAB_0004c78c") (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" (else "else") (compound_statement "{\n                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;\nLAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;\n                if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }\n                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }\n              }" ({ "{") (expression_statement "iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;" (assignment_expression "iVar24 = (-(uint)(-1 < cVar3) & 4) + 4" (identifier "iVar24") (= "=") (binary_expression "(-(uint)(-1 < cVar3) & 4) + 4" (parenthesized_expression "(-(uint)(-1 < cVar3) & 4)" (( "(") (binary_expression "-(uint)(-1 < cVar3) & 4" (unary_expression "-(uint)(-1 < cVar3)" (- "-") (call_expression "(uint)(-1 < cVar3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(-1 < cVar3)" (( "(") (binary_expression "-1 < cVar3" (number_literal "-1") (< "<") (identifier "cVar3")) () ")")))) (& "&") (number_literal "4")) () ")")) (+ "+") (number_literal "4"))) (; ";")) (labeled_statement "LAB_0004c78c:\n                iVar24 = iVar24 * *DAT_000890cc;" (statement_identifier "LAB_0004c78c") (: ":") (expression_statement "iVar24 = iVar24 * *DAT_000890cc;" (assignment_expression "iVar24 = iVar24 * *DAT_000890cc" (identifier "iVar24") (= "=") (binary_expression "iVar24 * *DAT_000890cc" (identifier "iVar24") (* "*") (pointer_expression "*DAT_000890cc" (* "*") (identifier "DAT_000890cc")))) (; ";"))) (if_statement "if (iVar24 == 0x10) {\n                  uVar28 = 8;\n                }\n                else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" (if "if") (parenthesized_expression "(iVar24 == 0x10)" (( "(") (binary_expression "iVar24 == 0x10" (identifier "iVar24") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n                  uVar28 = 8;\n                }" ({ "{") (expression_statement "uVar28 = 8;" (assignment_expression "uVar28 = 8" (identifier "uVar28") (= "=") (number_literal "8")) (; ";")) (} "}")) (else_clause "else if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" (else "else") (if_statement "if (iVar24 < 0x11) {\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }\n                else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" (if "if") (parenthesized_expression "(iVar24 < 0x11)" (( "(") (binary_expression "iVar24 < 0x11" (identifier "iVar24") (< "<") (number_literal "0x11")) () ")")) (compound_statement "{\n                  uVar28 = 2;\n                  if (iVar24 != 8) goto LAB_0004c7c9;\n                }" ({ "{") (expression_statement "uVar28 = 2;" (assignment_expression "uVar28 = 2" (identifier "uVar28") (= "=") (number_literal "2")) (; ";")) (if_statement "if (iVar24 != 8) goto LAB_0004c7c9;" (if "if") (parenthesized_expression "(iVar24 != 8)" (( "(") (binary_expression "iVar24 != 8" (identifier "iVar24") (!= "!=") (number_literal "8")) () ")")) (goto_statement "goto LAB_0004c7c9;" (goto "goto") (statement_identifier "LAB_0004c7c9") (; ";"))) (} "}")) (else_clause "else if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" (else "else") (if_statement "if (iVar24 == 0x20) {\n                  uVar28 = 0x10;\n                }\n                else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" (if "if") (parenthesized_expression "(iVar24 == 0x20)" (( "(") (binary_expression "iVar24 == 0x20" (identifier "iVar24") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n                  uVar28 = 0x10;\n                }" ({ "{") (expression_statement "uVar28 = 0x10;" (assignment_expression "uVar28 = 0x10" (identifier "uVar28") (= "=") (number_literal "0x10")) (; ";")) (} "}")) (else_clause "else {\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" (else "else") (compound_statement "{\n                  uVar28 = 0x20;\n                  if (iVar24 != 0x40) goto LAB_0004c7c9;\n                }" ({ "{") (expression_statement "uVar28 = 0x20;" (assignment_expression "uVar28 = 0x20" (identifier "uVar28") (= "=") (number_literal "0x20")) (; ";")) (if_statement "if (iVar24 != 0x40) goto LAB_0004c7c9;" (if "if") (parenthesized_expression "(iVar24 != 0x40)" (( "(") (binary_expression "iVar24 != 0x40" (identifier "iVar24") (!= "!=") (number_literal "0x40")) () ")")) (goto_statement "goto LAB_0004c7c9;" (goto "goto") (statement_identifier "LAB_0004c7c9") (; ";"))) (} "}")))))))) (if_statement "if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }" (if "if") (parenthesized_expression "((puVar32[iVar23 * 2 + 1] & uVar28) != 0)" (( "(") (binary_expression "(puVar32[iVar23 * 2 + 1] & uVar28) != 0" (parenthesized_expression "(puVar32[iVar23 * 2 + 1] & uVar28)" (( "(") (binary_expression "puVar32[iVar23 * 2 + 1] & uVar28" (subscript_expression "puVar32[iVar23 * 2 + 1]" (identifier "puVar32") ([ "[") (binary_expression "iVar23 * 2 + 1" (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2")) (+ "+") (number_literal "1")) (] "]")) (& "&") (identifier "uVar28")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }\n                  goto LAB_0004d08c;\n                }" ({ "{") (if_statement "if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }" (if "if") (parenthesized_expression "(((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0))" (( "(") (binary_expression "((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)" (parenthesized_expression "((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x25) & 0x40)" (( "(") (binary_expression "*(byte *)((int)puVar32 + 0x25) & 0x40" (pointer_expression "*(byte *)((int)puVar32 + 0x25)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x25)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x25)" (( "(") (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x25")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00088ffc != 0)" (( "(") (binary_expression "DAT_00088ffc != 0" (identifier "DAT_00088ffc") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    iVar24 = 0;\n                    do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);\n                  }" ({ "{") (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" (identifier "iVar24") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    } while (iVar24 != DAT_00088ffc);" (do "do") (compound_statement "{\n                      if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }\n                      iVar24 = iVar24 + 1;\n                    }" ({ "{") (if_statement "if (local_d4 != iVar24) {\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }" (if "if") (parenthesized_expression "(local_d4 != iVar24)" (( "(") (binary_expression "local_d4 != iVar24" (identifier "local_d4") (!= "!=") (identifier "iVar24")) () ")")) (compound_statement "{\n                        iVar1 = iVar24 * 8;\n                        uVar20 = (&DAT_00089010)[iVar24 * 2];\n                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);\n                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);\n                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);\n                        if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;\n                      }" ({ "{") (expression_statement "iVar1 = iVar24 * 8;" (assignment_expression "iVar1 = iVar24 * 8" (identifier "iVar1") (= "=") (binary_expression "iVar24 * 8" (identifier "iVar24") (* "*") (number_literal "8"))) (; ";")) (expression_statement "uVar20 = (&DAT_00089010)[iVar24 * 2];" (assignment_expression "uVar20 = (&DAT_00089010)[iVar24 * 2]" (identifier "uVar20") (= "=") (subscript_expression "(&DAT_00089010)[iVar24 * 2]" (parenthesized_expression "(&DAT_00089010)" (( "(") (pointer_expression "&DAT_00089010" (& "&") (identifier "DAT_00089010")) () ")")) ([ "[") (binary_expression "iVar24 * 2" (identifier "iVar24") (* "*") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);" (assignment_expression "bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd)" (identifier "bVar18") (= "=") (pointer_expression "*(byte *)(puVar32 + iVar24 * 2 + 0xd)" (* "*") (cast_expression "(byte *)(puVar32 + iVar24 * 2 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar24 * 2 + 0xd)" (( "(") (binary_expression "puVar32 + iVar24 * 2 + 0xd" (binary_expression "puVar32 + iVar24 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar24 * 2" (identifier "iVar24") (* "*") (number_literal "2"))) (+ "+") (number_literal "0xd")) () ")"))))) (; ";")) (expression_statement "bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);" (assignment_expression "bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3)" (identifier "bVar29") (= "=") (pointer_expression "*(byte *)((int)puVar32 + iVar23 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar23 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar23 * 8 + 3)" (( "(") (binary_expression "(int)puVar32 + iVar23 * 8 + 3" (binary_expression "(int)puVar32 + iVar23 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);" (assignment_expression "bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1)" (identifier "bVar30") (= "=") (pointer_expression "*(byte *)(puVar32 + iVar23 * 2 + 1)" (* "*") (cast_expression "(byte *)(puVar32 + iVar23 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + iVar23 * 2 + 1)" (( "(") (binary_expression "puVar32 + iVar23 * 2 + 1" (binary_expression "puVar32 + iVar23 * 2" (identifier "puVar32") (+ "+") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")"))))) (; ";")) (if_statement "if (((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;" (if "if") (parenthesized_expression "(((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0))))))" (( "(") (binary_expression "((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&\n                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))" (parenthesized_expression "((((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0))))))" (( "(") (binary_expression "(((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&\n                            (((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))" (parenthesized_expression "(((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0))))" (( "(") (binary_expression "((uVar20 & 5) != 0) ||\n                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))" (parenthesized_expression "((uVar20 & 5) != 0)" (( "(") (binary_expression "(uVar20 & 5) != 0" (parenthesized_expression "(uVar20 & 5)" (( "(") (binary_expression "uVar20 & 5" (identifier "uVar20") (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))" (( "(") (parenthesized_expression "(((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0))" (( "(") (binary_expression "((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&\n                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)" (parenthesized_expression "((uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0))" (( "(") (binary_expression "(uVar20 >> 0x10 & 0x5f) != 0 &&\n                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)" (binary_expression "(uVar20 >> 0x10 & 0x5f) != 0" (parenthesized_expression "(uVar20 >> 0x10 & 0x5f)" (( "(") (binary_expression "uVar20 >> 0x10 & 0x5f" (binary_expression "uVar20 >> 0x10" (identifier "uVar20") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0x5f")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)" (( "(") (binary_expression "((&DAT_00089014)[iVar24 * 2] & 0x40) == 0" (parenthesized_expression "((&DAT_00089014)[iVar24 * 2] & 0x40)" (( "(") (binary_expression "(&DAT_00089014)[iVar24 * 2] & 0x40" (subscript_expression "(&DAT_00089014)[iVar24 * 2]" (parenthesized_expression "(&DAT_00089014)" (( "(") (pointer_expression "&DAT_00089014" (& "&") (identifier "DAT_00089014")) () ")")) ([ "[") (binary_expression "iVar24 * 2" (identifier "iVar24") (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((puVar32[iVar24 * 2 + 0xc] & 4) != 0)" (( "(") (binary_expression "(puVar32[iVar24 * 2 + 0xc] & 4) != 0" (parenthesized_expression "(puVar32[iVar24 * 2 + 0xc] & 4)" (( "(") (binary_expression "puVar32[iVar24 * 2 + 0xc] & 4" (subscript_expression "puVar32[iVar24 * 2 + 0xc]" (identifier "puVar32") ([ "[") (binary_expression "iVar24 * 2 + 0xc" (binary_expression "iVar24 * 2" (identifier "iVar24") (* "*") (number_literal "2")) (+ "+") (number_literal "0xc")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))" (( "(") (parenthesized_expression "((puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0))))" (( "(") (binary_expression "(puVar32[iVar23 * 2] & 4) != 0 &&\n                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))" (binary_expression "(puVar32[iVar23 * 2] & 4) != 0" (parenthesized_expression "(puVar32[iVar23 * 2] & 4)" (( "(") (binary_expression "puVar32[iVar23 * 2] & 4" (subscript_expression "puVar32[iVar23 * 2]" (identifier "puVar32") ([ "[") (binary_expression "iVar23 * 2" (identifier "iVar23") (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))" (( "(") (parenthesized_expression "(((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0))" (( "(") (binary_expression "((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||\n                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)" (parenthesized_expression "((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0))" (( "(") (binary_expression "(uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)" (binary_expression "(uVar20 >> 0x18 & 0x60) != 0" (parenthesized_expression "(uVar20 >> 0x18 & 0x60)" (( "(") (binary_expression "uVar20 >> 0x18 & 0x60" (binary_expression "uVar20 >> 0x18" (identifier "uVar20") (>> ">>") (number_literal "0x18")) (& "&") (number_literal "0x60")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((int)uVar20 < 0)" (( "(") (binary_expression "(int)uVar20 < 0" (cast_expression "(int)uVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar20")) (< "<") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)" (( "(") (binary_expression "(((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0" (parenthesized_expression "(((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a)" (( "(") (binary_expression "((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a" (parenthesized_expression "((&DAT_00089014)[iVar24 * 2] ^ uVar28)" (( "(") (binary_expression "(&DAT_00089014)[iVar24 * 2] ^ uVar28" (subscript_expression "(&DAT_00089014)[iVar24 * 2]" (parenthesized_expression "(&DAT_00089014)" (( "(") (pointer_expression "&DAT_00089014" (& "&") (identifier "DAT_00089014")) () ")")) ([ "[") (binary_expression "iVar24 * 2" (identifier "iVar24") (* "*") (number_literal "2")) (] "]")) (^ "^") (identifier "uVar28")) () ")")) (& "&") (number_literal "0x3a")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))" (( "(") (parenthesized_expression "(((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0))))" (( "(") (binary_expression "((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||\n                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))" (parenthesized_expression "((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0))))" (( "(") (binary_expression "(((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||\n                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))" (parenthesized_expression "(((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0'))" (( "(") (binary_expression "((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||\n                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')" (parenthesized_expression "((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0))" (( "(") (binary_expression "(bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0 || ((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)" (binary_expression "(bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)\n                                != 0" (parenthesized_expression "(bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)" (( "(") (binary_expression "bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1" (binary_expression "bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5" (binary_expression "bVar29 >> 5 & 1" (binary_expression "bVar29 >> 5" (identifier "bVar29") (>> ">>") (number_literal "5")) (& "&") (number_literal "1")) (& "&") (binary_expression "*(byte *)((int)puVar32 + iVar1 + 0x33) >> 5" (pointer_expression "*(byte *)((int)puVar32 + iVar1 + 0x33)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar1 + 0x33)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar1 + 0x33)" (( "(") (binary_expression "(int)puVar32 + iVar1 + 0x33" (binary_expression "(int)puVar32 + iVar1" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (identifier "iVar1")) (+ "+") (number_literal "0x33")) () ")")))) (>> ">>") (number_literal "5"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)" (( "(") (binary_expression "(bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0" (parenthesized_expression "(bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1)" (( "(") (binary_expression "bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1" (binary_expression "bVar29 >> 6 & 1 &\n                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6" (binary_expression "bVar29 >> 6 & 1" (binary_expression "bVar29 >> 6" (identifier "bVar29") (>> ">>") (number_literal "6")) (& "&") (number_literal "1")) (& "&") (binary_expression "*(byte *)((int)puVar32 + iVar1 + 0x33) >> 6" (pointer_expression "*(byte *)((int)puVar32 + iVar1 + 0x33)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar1 + 0x33)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar1 + 0x33)" (( "(") (binary_expression "(int)puVar32 + iVar1 + 0x33" (binary_expression "(int)puVar32 + iVar1" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (identifier "iVar1")) (+ "+") (number_literal "0x33")) () ")")))) (>> ">>") (number_literal "6"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')" (( "(") (binary_expression "(char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0'" (cast_expression "(char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33))" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33))" (( "(") (binary_expression "bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)" (identifier "bVar29") (& "&") (pointer_expression "*(byte *)((int)puVar32 + iVar1 + 0x33)" (* "*") (cast_expression "(byte *)((int)puVar32 + iVar1 + 0x33)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + iVar1 + 0x33)" (( "(") (binary_expression "(int)puVar32 + iVar1 + 0x33" (binary_expression "(int)puVar32 + iVar1" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (identifier "iVar1")) (+ "+") (number_literal "0x33")) () ")"))))) () ")"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))" (( "(") (parenthesized_expression "((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0))" (( "(") (binary_expression "(bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||\n                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)" (binary_expression "(bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0" (parenthesized_expression "(bVar30 >> 1 & 1 & bVar18 >> 1 & 1)" (( "(") (binary_expression "bVar30 >> 1 & 1 & bVar18 >> 1 & 1" (binary_expression "bVar30 >> 1 & 1 & bVar18 >> 1" (binary_expression "bVar30 >> 1 & 1" (binary_expression "bVar30 >> 1" (identifier "bVar30") (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) (& "&") (binary_expression "bVar18 >> 1" (identifier "bVar18") (>> ">>") (number_literal "1"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)" (( "(") (binary_expression "(bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0" (parenthesized_expression "(bVar30 >> 3 & 1 & bVar18 >> 3 & 1)" (( "(") (binary_expression "bVar30 >> 3 & 1 & bVar18 >> 3 & 1" (binary_expression "bVar30 >> 3 & 1 & bVar18 >> 3" (binary_expression "bVar30 >> 3 & 1" (binary_expression "bVar30 >> 3" (identifier "bVar30") (>> ">>") (number_literal "3")) (& "&") (number_literal "1")) (& "&") (binary_expression "bVar18 >> 3" (identifier "bVar18") (>> ">>") (number_literal "3"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))" (( "(") (parenthesized_expression "((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0))" (( "(") (binary_expression "(bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||\n                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)" (binary_expression "(bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0" (parenthesized_expression "(bVar30 >> 4 & 1 & bVar18 >> 4 & 1)" (( "(") (binary_expression "bVar30 >> 4 & 1 & bVar18 >> 4 & 1" (binary_expression "bVar30 >> 4 & 1 & bVar18 >> 4" (binary_expression "bVar30 >> 4 & 1" (binary_expression "bVar30 >> 4" (identifier "bVar30") (>> ">>") (number_literal "4")) (& "&") (number_literal "1")) (& "&") (binary_expression "bVar18 >> 4" (identifier "bVar18") (>> ">>") (number_literal "4"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)" (( "(") (binary_expression "(bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0" (parenthesized_expression "(bVar18 >> 5 & 1 & bVar30 >> 5 & 1)" (( "(") (binary_expression "bVar18 >> 5 & 1 & bVar30 >> 5 & 1" (binary_expression "bVar18 >> 5 & 1 & bVar30 >> 5" (binary_expression "bVar18 >> 5 & 1" (binary_expression "bVar18 >> 5" (identifier "bVar18") (>> ">>") (number_literal "5")) (& "&") (number_literal "1")) (& "&") (binary_expression "bVar30 >> 5" (identifier "bVar30") (>> ">>") (number_literal "5"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0004c7c9;" (goto "goto") (statement_identifier "LAB_0004c7c9") (; ";"))) (} "}"))) (expression_statement "iVar24 = iVar24 + 1;" (assignment_expression "iVar24 = iVar24 + 1" (identifier "iVar24") (= "=") (binary_expression "iVar24 + 1" (identifier "iVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar24 != DAT_00088ffc)" (( "(") (binary_expression "iVar24 != DAT_00088ffc" (identifier "iVar24") (!= "!=") (identifier "DAT_00088ffc")) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_0004d08c;" (goto "goto") (statement_identifier "LAB_0004d08c") (; ";")) (} "}"))) (} "}")))) (} "}"))) (} "}"))) (labeled_statement "LAB_0004c7c9:\n          DAT_000890f8 = 0xc;" (statement_identifier "LAB_0004c7c9") (: ":") (expression_statement "DAT_000890f8 = 0xc;" (assignment_expression "DAT_000890f8 = 0xc" (identifier "DAT_000890f8") (= "=") (number_literal "0xc")) (; ";"))) (expression_statement "local_e0 = 0xc;" (assignment_expression "local_e0 = 0xc" (identifier "local_e0") (= "=") (number_literal "0xc")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))) (if_statement "if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {\n          local_d4 = 4;\n        }\n        else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }" (if "if") (parenthesized_expression "(((bVar17 & 0x20) == 0) || (DAT_00089008 == 0))" (( "(") (binary_expression "((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)" (parenthesized_expression "((bVar17 & 0x20) == 0)" (( "(") (binary_expression "(bVar17 & 0x20) == 0" (parenthesized_expression "(bVar17 & 0x20)" (( "(") (binary_expression "bVar17 & 0x20" (identifier "bVar17") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_00089008 == 0)" (( "(") (binary_expression "DAT_00089008 == 0" (identifier "DAT_00089008") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          local_d4 = 4;\n        }" ({ "{") (expression_statement "local_d4 = 4;" (assignment_expression "local_d4 = 4" (identifier "local_d4") (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }" (else "else") (compound_statement "{\n          if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }\n          if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }\n          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }\n          if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }\n        }" ({ "{") (if_statement "if (DAT_00088ffc == 0) {\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }" (if "if") (parenthesized_expression "(DAT_00088ffc == 0)" (( "(") (binary_expression "DAT_00088ffc == 0" (identifier "DAT_00088ffc") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);\n          }" ({ "{") (labeled_statement "LAB_0004cfed:\n                    \n            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);" (statement_identifier "LAB_0004cfed") (: ":") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x141e") (, ",") (string_literal ""check_VecOperands"" (" """) (string_content "check_VecOperands") (" """)) (, ",") (identifier "DAT_00088ffc") () ")"))) (; ";"))) (} "}"))) (if_statement "if ((DAT_00089010 & 0x5f0000) == 0) {\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }\n          else {\n            local_d4 = 0;\n          }" (if "if") (parenthesized_expression "((DAT_00089010 & 0x5f0000) == 0)" (( "(") (binary_expression "(DAT_00089010 & 0x5f0000) == 0" (parenthesized_expression "(DAT_00089010 & 0x5f0000)" (( "(") (binary_expression "DAT_00089010 & 0x5f0000" (identifier "DAT_00089010") (& "&") (number_literal "0x5f0000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_d4 = 0;\n            do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);\n          }" ({ "{") (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" (identifier "local_d4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);" (do "do") (compound_statement "{\n              local_d4 = local_d4 + 1;\n              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;\n            }" ({ "{") (expression_statement "local_d4 = local_d4 + 1;" (assignment_expression "local_d4 = local_d4 + 1" (identifier "local_d4") (= "=") (binary_expression "local_d4 + 1" (identifier "local_d4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;" (if "if") (parenthesized_expression "(local_d4 == DAT_00088ffc)" (( "(") (binary_expression "local_d4 == DAT_00088ffc" (identifier "local_d4") (== "==") (identifier "DAT_00088ffc")) () ")")) (goto_statement "goto LAB_0004cfed;" (goto "goto") (statement_identifier "LAB_0004cfed") (; ";"))) (} "}")) (while "while") (parenthesized_expression "((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0)" (( "(") (binary_expression "(*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0" (parenthesized_expression "(*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f)" (( "(") (binary_expression "*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f" (pointer_expression "*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2)" (* "*") (cast_expression "(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00089010 + local_d4 * 8 + 2)" (( "(") (binary_expression "(int)&DAT_00089010 + local_d4 * 8 + 2" (binary_expression "(int)&DAT_00089010 + local_d4 * 8" (cast_expression "(int)&DAT_00089010" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00089010" (& "&") (identifier "DAT_00089010"))) (+ "+") (binary_expression "local_d4 * 8" (identifier "local_d4") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x5f")) () ")")) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}")) (else_clause "else {\n            local_d4 = 0;\n          }" (else "else") (compound_statement "{\n            local_d4 = 0;\n          }" ({ "{") (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" (identifier "local_d4") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }\n          else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }" (if "if") (parenthesized_expression "(*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0')" (( "(") (binary_expression "*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0'" (pointer_expression "*(char *)((int)puVar32 + local_d4 * 8 + 0x33)" (* "*") (cast_expression "(char *)((int)puVar32 + local_d4 * 8 + 0x33)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 0x33)" (( "(") (binary_expression "(int)puVar32 + local_d4 * 8 + 0x33" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "local_d4 * 8" (identifier "local_d4") (* "*") (number_literal "8"))) (+ "+") (number_literal "0x33")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;\n          }" ({ "{") (expression_statement "bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;" (assignment_expression "bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7" (identifier "bVar18") (= "=") (binary_expression "*(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7" (pointer_expression "*(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3)" (* "*") (cast_expression "(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00089010 + local_d4 * 8 + 3)" (( "(") (binary_expression "(int)&DAT_00089010 + local_d4 * 8 + 3" (binary_expression "(int)&DAT_00089010 + local_d4 * 8" (cast_expression "(int)&DAT_00089010" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00089010" (& "&") (identifier "DAT_00089010"))) (+ "+") (binary_expression "local_d4 * 8" (identifier "local_d4") (* "*") (number_literal "8"))) (+ "+") (number_literal "3")) () ")")))) (>> ">>") (number_literal "7"))) (; ";")) (} "}")) (else_clause "else {\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }" (else "else") (compound_statement "{\n            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;\n          }" ({ "{") (expression_statement "bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;" (assignment_expression "bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1" (identifier "bVar18") (= "=") (binary_expression "*(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1" (binary_expression "*(byte *)(&DAT_00089014 + local_d4 * 2) >> 1" (pointer_expression "*(byte *)(&DAT_00089014 + local_d4 * 2)" (* "*") (cast_expression "(byte *)(&DAT_00089014 + local_d4 * 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00089014 + local_d4 * 2)" (( "(") (binary_expression "&DAT_00089014 + local_d4 * 2" (pointer_expression "&DAT_00089014" (& "&") (identifier "DAT_00089014")) (+ "+") (binary_expression "local_d4 * 2" (identifier "local_d4") (* "*") (number_literal "2"))) () ")")))) (>> ">>") (number_literal "1")) (& "&") (number_literal "1"))) (; ";")) (} "}")))) (if_statement "if (bVar18 != 0) {\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }" (if "if") (parenthesized_expression "(bVar18 != 0)" (( "(") (binary_expression "bVar18 != 0" (identifier "bVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DAT_000890f8 = 0xe;\n            local_e0 = 0xe;\n            goto LAB_0004ba48;\n          }" ({ "{") (expression_statement "DAT_000890f8 = 0xe;" (assignment_expression "DAT_000890f8 = 0xe" (identifier "DAT_000890f8") (= "=") (number_literal "0xe")) (; ";")) (expression_statement "local_e0 = 0xe;" (assignment_expression "local_e0 = 0xe" (identifier "local_e0") (= "=") (number_literal "0xe")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0004d08c:\n        if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }" (statement_identifier "LAB_0004d08c") (: ":") (if_statement "if (DAT_000890c4 != (int *)0x0) {\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }" (if "if") (parenthesized_expression "(DAT_000890c4 != (int *)0x0)" (( "(") (binary_expression "DAT_000890c4 != (int *)0x0" (identifier "DAT_000890c4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }\n          if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }\n        }" ({ "{") (if_statement "if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }" (if "if") (parenthesized_expression "(((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10))))" (( "(") (binary_expression "((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))" (parenthesized_expression "((bVar17 & 0x18) == 0)" (( "(") (binary_expression "(bVar17 & 0x18) == 0" (parenthesized_expression "(bVar17 & 0x18)" (( "(") (binary_expression "bVar17 & 0x18" (identifier "bVar17") (& "&") (number_literal "0x18")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))" (( "(") (parenthesized_expression "(DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10))" (( "(") (binary_expression "DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)" (binary_expression "DAT_000890c4[1] != 0" (subscript_expression "DAT_000890c4[1]" (identifier "DAT_000890c4") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((bVar17 & 0x18) == 0x10)" (( "(") (binary_expression "(bVar17 & 0x18) == 0x10" (parenthesized_expression "(bVar17 & 0x18)" (( "(") (binary_expression "bVar17 & 0x18" (identifier "bVar17") (& "&") (number_literal "0x18")) () ")")) (== "==") (number_literal "0x10")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            DAT_000890f8 = 0xf;\n            local_e0 = 0xf;\n            goto LAB_0004ba48;\n          }" ({ "{") (expression_statement "DAT_000890f8 = 0xf;" (assignment_expression "DAT_000890f8 = 0xf" (identifier "DAT_000890f8") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "local_e0 = 0xf;" (assignment_expression "local_e0 = 0xf" (identifier "local_e0") (= "=") (number_literal "0xf")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))) (if_statement "if (DAT_000890c4[2] != DAT_00088ffc + -1) {\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }" (if "if") (parenthesized_expression "(DAT_000890c4[2] != DAT_00088ffc + -1)" (( "(") (binary_expression "DAT_000890c4[2] != DAT_00088ffc + -1" (subscript_expression "DAT_000890c4[2]" (identifier "DAT_000890c4") ([ "[") (number_literal "2") (] "]")) (!= "!=") (binary_expression "DAT_00088ffc + -1" (identifier "DAT_00088ffc") (+ "+") (number_literal "-1"))) () ")")) (compound_statement "{\n            DAT_000890f8 = 0x10;\n            local_e0 = 0x10;\n            goto LAB_0004ba48;\n          }" ({ "{") (expression_statement "DAT_000890f8 = 0x10;" (assignment_expression "DAT_000890f8 = 0x10" (identifier "DAT_000890f8") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "local_e0 = 0x10;" (assignment_expression "local_e0 = 0x10" (identifier "local_e0") (= "=") (number_literal "0x10")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))) (} "}")))) (if_statement "if (DAT_000890c8 != (int *)0x0) {\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }" (if "if") (parenthesized_expression "(DAT_000890c8 != (int *)0x0)" (( "(") (binary_expression "DAT_000890c8 != (int *)0x0" (identifier "DAT_000890c8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }\n          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }\n        }" ({ "{") (if_statement "if (*DAT_000890c8 == 4) {\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }\n          else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" (if "if") (parenthesized_expression "(*DAT_000890c8 == 4)" (( "(") (binary_expression "*DAT_000890c8 == 4" (pointer_expression "*DAT_000890c8" (* "*") (identifier "DAT_000890c8")) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;\n          }" ({ "{") (if_statement "if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;" (if "if") (parenthesized_expression "((bVar17 & 0xc0) != 0x80)" (( "(") (binary_expression "(bVar17 & 0xc0) != 0x80" (parenthesized_expression "(bVar17 & 0xc0)" (( "(") (binary_expression "bVar17 & 0xc0" (identifier "bVar17") (& "&") (number_literal "0xc0")) () ")")) (!= "!=") (number_literal "0x80")) () ")")) (goto_statement "goto LAB_0004dd1c;" (goto "goto") (statement_identifier "LAB_0004dd1c") (; ";"))) (} "}")) (else_clause "else if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" (else "else") (if_statement "if ((bVar17 & 0x40) == 0) {\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" (if "if") (parenthesized_expression "((bVar17 & 0x40) == 0)" (( "(") (binary_expression "(bVar17 & 0x40) == 0" (parenthesized_expression "(bVar17 & 0x40)" (( "(") (binary_expression "bVar17 & 0x40" (identifier "bVar17") (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004dd1c:\n            DAT_000890f8 = 0x12;\n            local_e0 = 0x12;\n            goto LAB_0004ba48;\n          }" ({ "{") (labeled_statement "LAB_0004dd1c:\n            DAT_000890f8 = 0x12;" (statement_identifier "LAB_0004dd1c") (: ":") (expression_statement "DAT_000890f8 = 0x12;" (assignment_expression "DAT_000890f8 = 0x12" (identifier "DAT_000890f8") (= "=") (number_literal "0x12")) (; ";"))) (expression_statement "local_e0 = 0x12;" (assignment_expression "local_e0 = 0x12" (identifier "local_e0") (= "=") (number_literal "0x12")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))))) (if_statement "if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }" (if "if") (parenthesized_expression "((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1))" (( "(") (binary_expression "(1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)" (parenthesized_expression "(1 < DAT_0008900c)" (( "(") (binary_expression "1 < DAT_0008900c" (number_literal "1") (< "<") (identifier "DAT_0008900c")) () ")")) (&& "&&") (parenthesized_expression "(DAT_000890c8[1] != DAT_0008900c - 1)" (( "(") (binary_expression "DAT_000890c8[1] != DAT_0008900c - 1" (subscript_expression "DAT_000890c8[1]" (identifier "DAT_000890c8") ([ "[") (number_literal "1") (] "]")) (!= "!=") (binary_expression "DAT_0008900c - 1" (identifier "DAT_0008900c") (- "-") (number_literal "1"))) () ")"))) () ")")) (compound_statement "{\n            DAT_000890f8 = 0x13;\n            local_e0 = 0x13;\n            goto LAB_0004ba48;\n          }" ({ "{") (expression_statement "DAT_000890f8 = 0x13;" (assignment_expression "DAT_000890f8 = 0x13" (identifier "DAT_000890f8") (= "=") (number_literal "0x13")) (; ";")) (expression_statement "local_e0 = 0x13;" (assignment_expression "local_e0 = 0x13" (identifier "local_e0") (= "=") (number_literal "0x13")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))) (} "}"))) (expression_statement "DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;" (assignment_expression "DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7" (identifier "DAT_000890d0") (= "=") (binary_expression "*(byte *)(puVar32 + 0xb) & 7" (pointer_expression "*(byte *)(puVar32 + 0xb)" (* "*") (cast_expression "(byte *)(puVar32 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0xb)" (( "(") (binary_expression "puVar32 + 0xb" (identifier "puVar32") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "7"))) (; ";")) (if_statement "if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }" (if "if") (parenthesized_expression "(((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2))" (( "(") (binary_expression "((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)" (parenthesized_expression "((*(byte *)(puVar32 + 0xb) & 7) != 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + 0xb) & 7) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 0xb) & 7)" (( "(") (binary_expression "*(byte *)(puVar32 + 0xb) & 7" (pointer_expression "*(byte *)(puVar32 + 0xb)" (* "*") (cast_expression "(byte *)(puVar32 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0xb)" (( "(") (binary_expression "puVar32 + 0xb" (identifier "puVar32") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_000890d8 != 2)" (( "(") (binary_expression "DAT_000890d8 != 2" (identifier "DAT_000890d8") (!= "!=") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }\n          if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }\n        }" ({ "{") (if_statement "if (DAT_000890cc != (int *)0x0) {\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }" (if "if") (parenthesized_expression "(DAT_000890cc != (int *)0x0)" (( "(") (binary_expression "DAT_000890cc != (int *)0x0" (identifier "DAT_000890cc") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;\n          }" ({ "{") (expression_statement "DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3;" (assignment_expression "DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3" (identifier "DAT_000890d0") (= "=") (binary_expression "((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f) + 3" (parenthesized_expression "((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f)" (( "(") (binary_expression "(int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 ) >> 0x1f" (cast_expression "(int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 )" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f\n                                 )" (( "(") (binary_expression "(uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f" (call_expression "(uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7)" (( "(") (binary_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7" (pointer_expression "*(byte *)((int)puVar32 + local_d4 * 8 + 0x33)" (* "*") (cast_expression "(byte *)((int)puVar32 + local_d4 * 8 + 0x33)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + local_d4 * 8 + 0x33)" (( "(") (binary_expression "(int)puVar32 + local_d4 * 8 + 0x33" (binary_expression "(int)puVar32 + local_d4 * 8" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (binary_expression "local_d4 * 8" (identifier "local_d4") (* "*") (number_literal "8"))) (+ "+") (number_literal "0x33")) () ")")))) (>> ">>") (number_literal "7")) () ")"))) (<< "<<") (number_literal "0x1f")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")) (+ "+") (number_literal "3"))) (; ";")) (} "}"))) (if_statement "if (DAT_00088ffc != 0) {\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }" (if "if") (parenthesized_expression "(DAT_00088ffc != 0)" (( "(") (binary_expression "DAT_00088ffc != 0" (identifier "DAT_00088ffc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar23 = 0;\n            do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);\n          }" ({ "{") (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            } while (iVar23 != iVar19);" (do "do") (compound_statement "{\n              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }\n              iVar23 = iVar23 + 1;\n            }" ({ "{") (if_statement "if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }" (if "if") (parenthesized_expression "(((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02'))" (( "(") (binary_expression "((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&\n                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')" (parenthesized_expression "((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0)" (( "(") (binary_expression "(*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0" (parenthesized_expression "(*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f)" (( "(") (binary_expression "*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f" (pointer_expression "*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" (* "*") (cast_expression "(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00089010 + iVar23 * 8 + 2)" (( "(") (binary_expression "(int)&DAT_00089010 + iVar23 * 8 + 2" (binary_expression "(int)&DAT_00089010 + iVar23 * 8" (cast_expression "(int)&DAT_00089010" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00089010" (& "&") (identifier "DAT_00089010"))) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x1f")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')" (( "(") (comma_expression "iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02'" (assignment_expression "iVar24 = (&DAT_00089038)[iVar23]" (identifier "iVar24") (= "=") (subscript_expression "(&DAT_00089038)[iVar23]" (parenthesized_expression "(&DAT_00089038)" (( "(") (pointer_expression "&DAT_00089038" (& "&") (identifier "DAT_00089038")) () ")")) ([ "[") (identifier "iVar23") (] "]"))) (, ",") (binary_expression "*(char *)(iVar24 + 0x10) == '\x02'" (pointer_expression "*(char *)(iVar24 + 0x10)" (* "*") (cast_expression "(char *)(iVar24 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0x10)" (( "(") (binary_expression "iVar24 + 0x10" (identifier "iVar24") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'")))) () ")"))) () ")")) (compound_statement "{\n                uVar28 = *(uint *)(iVar24 + 8);\n                if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }\n                bVar17 = (byte)DAT_000890d0;\n                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }\n                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                *pbVar2 = *pbVar2 & 0xfe;\n              }" ({ "{") (expression_statement "uVar28 = *(uint *)(iVar24 + 8);" (assignment_expression "uVar28 = *(uint *)(iVar24 + 8)" (identifier "uVar28") (= "=") (pointer_expression "*(uint *)(iVar24 + 8)" (* "*") (cast_expression "(uint *)(iVar24 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 8)" (( "(") (binary_expression "iVar24 + 8" (identifier "iVar24") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (DAT_000890d0 == 0xffffffff) {\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }" (if "if") (parenthesized_expression "(DAT_000890d0 == 0xffffffff)" (( "(") (binary_expression "DAT_000890d0 == 0xffffffff" (identifier "DAT_000890d0") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n                    \n                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);\n                }" ({ "{") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x896") (, ",") (string_literal ""fits_in_disp8"" (" """) (string_content "fits_in_disp8") (" """)) (, ",") (identifier "uVar28") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar17 = (byte)DAT_000890d0;" (assignment_expression "bVar17 = (byte)DAT_000890d0" (identifier "bVar17") (= "=") (cast_expression "(byte)DAT_000890d0" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_000890d0"))) (; ";")) (if_statement "if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }" (if "if") (parenthesized_expression "(((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0)" (( "(") (binary_expression "((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0" (parenthesized_expression "((1 << (bVar17 & 0x1f)) - 1U & uVar28)" (( "(") (binary_expression "(1 << (bVar17 & 0x1f)) - 1U & uVar28" (binary_expression "(1 << (bVar17 & 0x1f)) - 1U" (parenthesized_expression "(1 << (bVar17 & 0x1f))" (( "(") (binary_expression "1 << (bVar17 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(bVar17 & 0x1f)" (( "(") (binary_expression "bVar17 & 0x1f" (identifier "bVar17") (& "&") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (number_literal "1U")) (& "&") (identifier "uVar28")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);\n                  uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);\n                  uVar20 = uVar31;\n                  if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }\n                  iVar24 = uVar20 + (0xffffff7f < uVar28);\n                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }\n                }" ({ "{") (expression_statement "uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);" (assignment_expression "uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f)" (identifier "uVar31") (= "=") (binary_expression "*(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f)" (pointer_expression "*(int *)(iVar24 + 0xc)" (* "*") (cast_expression "(int *)(iVar24 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0xc)" (( "(") (binary_expression "iVar24 + 0xc" (identifier "iVar24") (+ "+") (number_literal "0xc")) () ")")))) (>> ">>") (parenthesized_expression "(bVar17 & 0x1f)" (( "(") (binary_expression "bVar17 & 0x1f" (identifier "bVar17") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);" (assignment_expression "uVar28 = uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f)" (identifier "uVar28") (= "=") (binary_expression "uVar28 >> (bVar17 & 0x1f) |\n                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f)" (binary_expression "uVar28 >> (bVar17 & 0x1f)" (identifier "uVar28") (>> ">>") (parenthesized_expression "(bVar17 & 0x1f)" (( "(") (binary_expression "bVar17 & 0x1f" (identifier "bVar17") (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "*(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f)" (pointer_expression "*(int *)(iVar24 + 0xc)" (* "*") (cast_expression "(int *)(iVar24 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar24 + 0xc)" (( "(") (binary_expression "iVar24 + 0xc" (identifier "iVar24") (+ "+") (number_literal "0xc")) () ")")))) (<< "<<") (binary_expression "0x20 - (bVar17 & 0x1f)" (number_literal "0x20") (- "-") (parenthesized_expression "(bVar17 & 0x1f)" (( "(") (binary_expression "bVar17 & 0x1f" (identifier "bVar17") (& "&") (number_literal "0x1f")) () ")")))))) (; ";")) (expression_statement "uVar20 = uVar31;" (assignment_expression "uVar20 = uVar31" (identifier "uVar20") (= "=") (identifier "uVar31")) (; ";")) (if_statement "if ((DAT_000890d0 & 0x20) != 0) {\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }" (if "if") (parenthesized_expression "((DAT_000890d0 & 0x20) != 0)" (( "(") (binary_expression "(DAT_000890d0 & 0x20) != 0" (parenthesized_expression "(DAT_000890d0 & 0x20)" (( "(") (binary_expression "DAT_000890d0 & 0x20" (identifier "DAT_000890d0") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar20 = (int)uVar31 >> 0x1f;\n                    uVar28 = uVar31;\n                  }" ({ "{") (expression_statement "uVar20 = (int)uVar31 >> 0x1f;" (assignment_expression "uVar20 = (int)uVar31 >> 0x1f" (identifier "uVar20") (= "=") (binary_expression "(int)uVar31 >> 0x1f" (cast_expression "(int)uVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar31")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "uVar28 = uVar31;" (assignment_expression "uVar28 = uVar31" (identifier "uVar28") (= "=") (identifier "uVar31")) (; ";")) (} "}"))) (expression_statement "iVar24 = uVar20 + (0xffffff7f < uVar28);" (assignment_expression "iVar24 = uVar20 + (0xffffff7f < uVar28)" (identifier "iVar24") (= "=") (binary_expression "uVar20 + (0xffffff7f < uVar28)" (identifier "uVar20") (+ "+") (parenthesized_expression "(0xffffff7f < uVar28)" (( "(") (binary_expression "0xffffff7f < uVar28" (number_literal "0xffffff7f") (< "<") (identifier "uVar28")) () ")")))) (; ";")) (if_statement "if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }" (if "if") (parenthesized_expression "(iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24)" (( "(") (binary_expression "iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24" (binary_expression "iVar24 == 0" (identifier "iVar24") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24" (call_expression "(uint)(0xff < uVar28 + 0x80)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xff < uVar28 + 0x80)" (( "(") (binary_expression "0xff < uVar28 + 0x80" (number_literal "0xff") (< "<") (binary_expression "uVar28 + 0x80" (identifier "uVar28") (+ "+") (number_literal "0x80"))) () ")"))) (<= "<=") (binary_expression "(uint)-iVar24" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar24")))) () ")")) (compound_statement "{\n                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);\n                    *pbVar2 = *pbVar2 | 1;\n                    goto LAB_0004d657;\n                  }" ({ "{") (expression_statement "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);" (assignment_expression "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" (identifier "pbVar2") (= "=") (cast_expression "(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00089010 + iVar23 * 8 + 2)" (( "(") (binary_expression "(int)&DAT_00089010 + iVar23 * 8 + 2" (binary_expression "(int)&DAT_00089010 + iVar23 * 8" (cast_expression "(int)&DAT_00089010" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00089010" (& "&") (identifier "DAT_00089010"))) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*pbVar2 = *pbVar2 | 1;" (assignment_expression "*pbVar2 = *pbVar2 | 1" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (= "=") (binary_expression "*pbVar2 | 1" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (| "|") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0004d657;" (goto "goto") (statement_identifier "LAB_0004d657") (; ";")) (} "}"))) (} "}"))) (expression_statement "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);" (assignment_expression "pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" (identifier "pbVar2") (= "=") (cast_expression "(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&DAT_00089010 + iVar23 * 8 + 2)" (( "(") (binary_expression "(int)&DAT_00089010 + iVar23 * 8 + 2" (binary_expression "(int)&DAT_00089010 + iVar23 * 8" (cast_expression "(int)&DAT_00089010" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DAT_00089010" (& "&") (identifier "DAT_00089010"))) (+ "+") (binary_expression "iVar23 * 8" (identifier "iVar23") (* "*") (number_literal "8"))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*pbVar2 = *pbVar2 & 0xfe;" (assignment_expression "*pbVar2 = *pbVar2 & 0xfe" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (= "=") (binary_expression "*pbVar2 & 0xfe" (pointer_expression "*pbVar2" (* "*") (identifier "pbVar2")) (& "&") (number_literal "0xfe"))) (; ";")) (} "}"))) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar23 != iVar19)" (( "(") (binary_expression "iVar23 != iVar19" (identifier "iVar23") (!= "!=") (identifier "iVar19")) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "DAT_000890d0 = 0;" (assignment_expression "DAT_000890d0 = 0" (identifier "DAT_000890d0") (= "=") (number_literal "0")) (; ";")) (} "}")))) (labeled_statement "LAB_0004d657:\n      if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" (statement_identifier "LAB_0004d657") (: ":") (if_statement "if (DAT_000890e4 == 3) {\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }\n      else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" (if "if") (parenthesized_expression "(DAT_000890e4 == 3)" (( "(") (binary_expression "DAT_000890e4 == 3" (identifier "DAT_000890e4") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;\n      }" ({ "{") (if_statement "if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;" (if "if") (parenthesized_expression "(*(char *)((int)puVar32 + 0x2b) != '\0')" (( "(") (binary_expression "*(char *)((int)puVar32 + 0x2b) != '\0'" (pointer_expression "*(char *)((int)puVar32 + 0x2b)" (* "*") (cast_expression "(char *)((int)puVar32 + 0x2b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x2b)" (( "(") (binary_expression "(int)puVar32 + 0x2b" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x2b")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0004d671;" (goto "goto") (statement_identifier "LAB_0004d671") (; ";"))) (} "}")) (else_clause "else {\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" (else "else") (compound_statement "{\n        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }\n        if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }\n      }" ({ "{") (if_statement "if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar32 + 0x29) & 6) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + 0x29) & 6) != 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x29) & 6)" (( "(") (binary_expression "*(byte *)((int)puVar32 + 0x29) & 6" (pointer_expression "*(byte *)((int)puVar32 + 0x29)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x29)" (( "(") (binary_expression "(int)puVar32 + 0x29" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x29")) () ")")))) (& "&") (number_literal "6")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;\n          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }\n          DAT_000890f8 = 5;\n          local_e0 = 5;\n          goto LAB_0004ba48;\n        }" ({ "{") (if_statement "if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;" (if "if") (parenthesized_expression "((*(byte *)((int)puVar32 + 0x35) & 1) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar32 + 0x35) & 1) == 0" (parenthesized_expression "(*(byte *)((int)puVar32 + 0x35) & 1)" (( "(") (binary_expression "*(byte *)((int)puVar32 + 0x35) & 1" (pointer_expression "*(byte *)((int)puVar32 + 0x35)" (* "*") (cast_expression "(byte *)((int)puVar32 + 0x35)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x35)" (( "(") (binary_expression "(int)puVar32 + 0x35" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x35")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004d671;" (goto "goto") (statement_identifier "LAB_0004d671") (; ";"))) (if_statement "if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))\n          {\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }" (if "if") (parenthesized_expression "((*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))" (( "(") (binary_expression "(*(char *)(DAT_00089038 + 0x10) == '\x02') &&\n             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0)" (parenthesized_expression "(*(char *)(DAT_00089038 + 0x10) == '\x02')" (( "(") (binary_expression "*(char *)(DAT_00089038 + 0x10) == '\x02'" (pointer_expression "*(char *)(DAT_00089038 + 0x10)" (* "*") (cast_expression "(char *)(DAT_00089038 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089038 + 0x10)" (( "(") (binary_expression "DAT_00089038 + 0x10" (identifier "DAT_00089038") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0)" (( "(") (binary_expression "(*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0" (binary_expression "(*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0" (parenthesized_expression "(*(uint *)(DAT_00089038 + 8) & 0xfffffff0)" (( "(") (binary_expression "*(uint *)(DAT_00089038 + 8) & 0xfffffff0" (pointer_expression "*(uint *)(DAT_00089038 + 8)" (* "*") (cast_expression "(uint *)(DAT_00089038 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089038 + 8)" (( "(") (binary_expression "DAT_00089038 + 8" (identifier "DAT_00089038") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0xfffffff0")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(int *)(DAT_00089038 + 0xc) == 0" (pointer_expression "*(int *)(DAT_00089038 + 0xc)" (* "*") (cast_expression "(int *)(DAT_00089038 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00089038 + 0xc)" (( "(") (binary_expression "DAT_00089038 + 0xc" (identifier "DAT_00089038") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n            DAT_00089010 = 0;\n            DAT_00089014 = 0x100;\n            puVar21 = (undefined4 *)DAT_00088f88[1];\n            goto LAB_0004bec6;\n          }" ({ "{") (expression_statement "DAT_00089010 = 0;" (assignment_expression "DAT_00089010 = 0" (identifier "DAT_00089010") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00089014 = 0x100;" (assignment_expression "DAT_00089014 = 0x100" (identifier "DAT_00089014") (= "=") (number_literal "0x100")) (; ";")) (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)DAT_00088f88[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "DAT_00088f88[1]" (identifier "DAT_00088f88") ([ "[") (number_literal "1") (] "]")))) (; ";")) (goto_statement "goto LAB_0004bec6;" (goto "goto") (statement_identifier "LAB_0004bec6") (; ";")) (} "}"))) (expression_statement "DAT_000890f8 = 5;" (assignment_expression "DAT_000890f8 = 5" (identifier "DAT_000890f8") (= "=") (number_literal "5")) (; ";")) (expression_statement "local_e0 = 5;" (assignment_expression "local_e0 = 5" (identifier "local_e0") (= "=") (number_literal "5")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))) (if_statement "if (DAT_000890e4 == 0) {\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }" (if "if") (parenthesized_expression "(DAT_000890e4 == 0)" (( "(") (binary_expression "DAT_000890e4 == 0" (identifier "DAT_000890e4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];\n          goto LAB_0004bec6;\n        }" ({ "{") (labeled_statement "LAB_0004d671:\n          puVar21 = (undefined4 *)DAT_00088f88[1];" (statement_identifier "LAB_0004d671") (: ":") (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)DAT_00088f88[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "DAT_00088f88[1]" (identifier "DAT_00088f88") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (goto_statement "goto LAB_0004bec6;" (goto "goto") (statement_identifier "LAB_0004bec6") (; ";")) (} "}"))) (} "}"))))) (labeled_statement "LAB_0004cc2a:\n      DAT_000890f8 = 8;" (statement_identifier "LAB_0004cc2a") (: ":") (expression_statement "DAT_000890f8 = 8;" (assignment_expression "DAT_000890f8 = 8" (identifier "DAT_000890f8") (= "=") (number_literal "8")) (; ";"))) (expression_statement "local_e0 = 8;" (assignment_expression "local_e0 = 8" (identifier "local_e0") (= "=") (number_literal "8")) (; ";")) (goto_statement "goto LAB_0004ba48;" (goto "goto") (statement_identifier "LAB_0004ba48") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0004cef0:\n  DAT_000890f8 = 9;" (statement_identifier "LAB_0004cef0") (: ":") (expression_statement "DAT_000890f8 = 9;" (assignment_expression "DAT_000890f8 = 9" (identifier "DAT_000890f8") (= "=") (number_literal "9")) (; ";"))) (expression_statement "local_e0 = 9;" (assignment_expression "local_e0 = 9" (identifier "local_e0") (= "=") (number_literal "9")) (; ";")) (labeled_statement "LAB_0004ba48:\n  puVar21 = (undefined4 *)DAT_00088f88[1];" (statement_identifier "LAB_0004ba48") (: ":") (expression_statement "puVar21 = (undefined4 *)DAT_00088f88[1];" (assignment_expression "puVar21 = (undefined4 *)DAT_00088f88[1]" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)DAT_00088f88[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "DAT_00088f88[1]" (identifier "DAT_00088f88") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (expression_statement "puVar33 = puVar32 + 0x16;" (assignment_expression "puVar33 = puVar32 + 0x16" (identifier "puVar33") (= "=") (binary_expression "puVar32 + 0x16" (identifier "puVar32") (+ "+") (number_literal "0x16"))) (; ";")) (if_statement "if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;" (if "if") (parenthesized_expression "(puVar21 <= puVar32 + 0x16)" (( "(") (binary_expression "puVar21 <= puVar32 + 0x16" (identifier "puVar21") (<= "<=") (binary_expression "puVar32 + 0x16" (identifier "puVar32") (+ "+") (number_literal "0x16"))) () ")")) (goto_statement "goto LAB_0004bec0;" (goto "goto") (statement_identifier "LAB_0004bec0") (; ";"))) (goto_statement "goto LAB_0004ba5c;" (goto "goto") (statement_identifier "LAB_0004ba5c") (; ";")) (labeled_statement "LAB_0004bec0:\n  puVar32 = puVar32 + 0x16;" (statement_identifier "LAB_0004bec0") (: ":") (expression_statement "puVar32 = puVar32 + 0x16;" (assignment_expression "puVar32 = puVar32 + 0x16" (identifier "puVar32") (= "=") (binary_expression "puVar32 + 0x16" (identifier "puVar32") (+ "+") (number_literal "0x16"))) (; ";"))) (labeled_statement "LAB_0004bec6:\n  if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }" (statement_identifier "LAB_0004bec6") (: ":") (if_statement "if (puVar21 == puVar32) {\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }" (if "if") (parenthesized_expression "(puVar21 == puVar32)" (( "(") (binary_expression "puVar21 == puVar32" (identifier "puVar21") (== "==") (identifier "puVar32")) () ")")) (compound_statement "{\n    if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }\n    switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }\nLAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);\n    uVar27 = *(undefined4 *)*DAT_00088f88;\n    uVar25 = dcgettext(0,"%s for `%s\'",5);\ncode_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);\n    return (undefined4 *)0x0;\n  }" ({ "{") (if_statement "if (local_e0 == 0) {\n      local_e0 = DAT_000890f8;\n    }" (if "if") (parenthesized_expression "(local_e0 == 0)" (( "(") (binary_expression "local_e0 == 0" (identifier "local_e0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_e0 = DAT_000890f8;\n    }" ({ "{") (expression_statement "local_e0 = DAT_000890f8;" (assignment_expression "local_e0 = DAT_000890f8" (identifier "local_e0") (= "=") (identifier "DAT_000890f8")) (; ";")) (} "}"))) (switch_statement "switch(local_e0) {\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }" (switch "switch") (parenthesized_expression "(local_e0)" (( "(") (identifier "local_e0") () ")")) (compound_statement "{\n    case 0:\n      pcVar26 = "operand size mismatch";\n      break;\n    case 1:\n      pcVar26 = "operand type mismatch";\n      break;\n    case 2:\n      pcVar26 = "register type mismatch";\n      break;\n    case 3:\n      goto LAB_0004cbaa;\n    case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;\n    case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;\n    case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;\n    case 7:\n      pcVar26 = "unsupported syntax";\n      break;\n    case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;\n    case 9:\n      pcVar26 = "invalid VSIB address";\n      break;\n    case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;\n    case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;\n    case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;\n    case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;\n    case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;\n    case 0xf:\n      pcVar26 = "unsupported masking";\n      break;\n    case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;\n    case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;\n    case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;\n    case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;\n    case 0x14:\n      pcVar26 = "invalid register operand";\n      break;\n    default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);\n    }" ({ "{") (case_statement "case 0:\n      pcVar26 = "operand size mismatch";\n      break;" (case "case") (number_literal "0") (: ":") (expression_statement "pcVar26 = "operand size mismatch";" (assignment_expression "pcVar26 = "operand size mismatch"" (identifier "pcVar26") (= "=") (string_literal ""operand size mismatch"" (" """) (string_content "operand size mismatch") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n      pcVar26 = "operand type mismatch";\n      break;" (case "case") (number_literal "1") (: ":") (expression_statement "pcVar26 = "operand type mismatch";" (assignment_expression "pcVar26 = "operand type mismatch"" (identifier "pcVar26") (= "=") (string_literal ""operand type mismatch"" (" """) (string_content "operand type mismatch") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n      pcVar26 = "register type mismatch";\n      break;" (case "case") (number_literal "2") (: ":") (expression_statement "pcVar26 = "register type mismatch";" (assignment_expression "pcVar26 = "register type mismatch"" (identifier "pcVar26") (= "=") (string_literal ""register type mismatch"" (" """) (string_content "register type mismatch") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n      goto LAB_0004cbaa;" (case "case") (number_literal "3") (: ":") (goto_statement "goto LAB_0004cbaa;" (goto "goto") (statement_identifier "LAB_0004cbaa") (; ";"))) (case_statement "case 4:\n      pcVar26 = "invalid instruction suffix";\n      break;" (case "case") (number_literal "4") (: ":") (expression_statement "pcVar26 = "invalid instruction suffix";" (assignment_expression "pcVar26 = "invalid instruction suffix"" (identifier "pcVar26") (= "=") (string_literal ""invalid instruction suffix"" (" """) (string_content "invalid instruction suffix") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n      pcVar26 = "constant doesn\'t fit in 4 bits";\n      break;" (case "case") (number_literal "5") (: ":") (expression_statement "pcVar26 = "constant doesn\'t fit in 4 bits";" (assignment_expression "pcVar26 = "constant doesn\'t fit in 4 bits"" (identifier "pcVar26") (= "=") (string_literal ""constant doesn\'t fit in 4 bits"" (" """) (string_content "constant doesn") (escape_sequence "\'") (string_content "t fit in 4 bits") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n      pcVar26 = "unsupported with Intel mnemonic";\n      break;" (case "case") (number_literal "6") (: ":") (expression_statement "pcVar26 = "unsupported with Intel mnemonic";" (assignment_expression "pcVar26 = "unsupported with Intel mnemonic"" (identifier "pcVar26") (= "=") (string_literal ""unsupported with Intel mnemonic"" (" """) (string_content "unsupported with Intel mnemonic") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:\n      pcVar26 = "unsupported syntax";\n      break;" (case "case") (number_literal "7") (: ":") (expression_statement "pcVar26 = "unsupported syntax";" (assignment_expression "pcVar26 = "unsupported syntax"" (identifier "pcVar26") (= "=") (string_literal ""unsupported syntax"" (" """) (string_content "unsupported syntax") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:\n      uVar22 = *(undefined4 *)*DAT_00088f88;\n      uVar27 = 5;\n      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);\n      goto code_r0x0004ca4e;" (case "case") (number_literal "8") (: ":") (expression_statement "uVar22 = *(undefined4 *)*DAT_00088f88;" (assignment_expression "uVar22 = *(undefined4 *)*DAT_00088f88" (identifier "uVar22") (= "=") (pointer_expression "*(undefined4 *)*DAT_00088f88" (* "*") (cast_expression "(undefined4 *)*DAT_00088f88" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_00088f88" (* "*") (identifier "DAT_00088f88"))))) (; ";")) (expression_statement "uVar27 = 5;" (assignment_expression "uVar27 = 5" (identifier "uVar27") (= "=") (number_literal "5")) (; ";")) (expression_statement "uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);" (assignment_expression "uVar25 = dcgettext(0,"unsupported instruction `%s\'",5)" (identifier "uVar25") (= "=") (call_expression "dcgettext(0,"unsupported instruction `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"unsupported instruction `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""unsupported instruction `%s\'"" (" """) (string_content "unsupported instruction `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (goto_statement "goto code_r0x0004ca4e;" (goto "goto") (statement_identifier "code_r0x0004ca4e") (; ";"))) (case_statement "case 9:\n      pcVar26 = "invalid VSIB address";\n      break;" (case "case") (number_literal "9") (: ":") (expression_statement "pcVar26 = "invalid VSIB address";" (assignment_expression "pcVar26 = "invalid VSIB address"" (identifier "pcVar26") (= "=") (string_literal ""invalid VSIB address"" (" """) (string_content "invalid VSIB address") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n      pcVar26 = "mask, index, and destination registers must be distinct";\n      break;" (case "case") (number_literal "10") (: ":") (expression_statement "pcVar26 = "mask, index, and destination registers must be distinct";" (assignment_expression "pcVar26 = "mask, index, and destination registers must be distinct"" (identifier "pcVar26") (= "=") (string_literal ""mask, index, and destination registers must be distinct"" (" """) (string_content "mask, index, and destination registers must be distinct") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:\n      pcVar26 = "unsupported vector index register";\n      break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "pcVar26 = "unsupported vector index register";" (assignment_expression "pcVar26 = "unsupported vector index register"" (identifier "pcVar26") (= "=") (string_literal ""unsupported vector index register"" (" """) (string_content "unsupported vector index register") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n      pcVar26 = "unsupported broadcast";\n      break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "pcVar26 = "unsupported broadcast";" (assignment_expression "pcVar26 = "unsupported broadcast"" (identifier "pcVar26") (= "=") (string_literal ""unsupported broadcast"" (" """) (string_content "unsupported broadcast") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xd:\n      pcVar26 = "broadcast not on source memory operand";\n      break;" (case "case") (number_literal "0xd") (: ":") (expression_statement "pcVar26 = "broadcast not on source memory operand";" (assignment_expression "pcVar26 = "broadcast not on source memory operand"" (identifier "pcVar26") (= "=") (string_literal ""broadcast not on source memory operand"" (" """) (string_content "broadcast not on source memory operand") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xe:\n      pcVar26 = "broadcast is needed for operand of such type";\n      break;" (case "case") (number_literal "0xe") (: ":") (expression_statement "pcVar26 = "broadcast is needed for operand of such type";" (assignment_expression "pcVar26 = "broadcast is needed for operand of such type"" (identifier "pcVar26") (= "=") (string_literal ""broadcast is needed for operand of such type"" (" """) (string_content "broadcast is needed for operand of such type") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xf:\n      pcVar26 = "unsupported masking";\n      break;" (case "case") (number_literal "0xf") (: ":") (expression_statement "pcVar26 = "unsupported masking";" (assignment_expression "pcVar26 = "unsupported masking"" (identifier "pcVar26") (= "=") (string_literal ""unsupported masking"" (" """) (string_content "unsupported masking") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x10:\n      pcVar26 = "mask not on destination operand";\n      break;" (case "case") (number_literal "0x10") (: ":") (expression_statement "pcVar26 = "mask not on destination operand";" (assignment_expression "pcVar26 = "mask not on destination operand"" (identifier "pcVar26") (= "=") (string_literal ""mask not on destination operand"" (" """) (string_content "mask not on destination operand") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11:\n      pcVar26 = "default mask isn\'t allowed";\n      break;" (case "case") (number_literal "0x11") (: ":") (expression_statement "pcVar26 = "default mask isn\'t allowed";" (assignment_expression "pcVar26 = "default mask isn\'t allowed"" (identifier "pcVar26") (= "=") (string_literal ""default mask isn\'t allowed"" (" """) (string_content "default mask isn") (escape_sequence "\'") (string_content "t allowed") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x12:\n      pcVar26 = "unsupported static rounding/sae";\n      break;" (case "case") (number_literal "0x12") (: ":") (expression_statement "pcVar26 = "unsupported static rounding/sae";" (assignment_expression "pcVar26 = "unsupported static rounding/sae"" (identifier "pcVar26") (= "=") (string_literal ""unsupported static rounding/sae"" (" """) (string_content "unsupported static rounding/sae") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x13:\n      if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }\n      break;" (case "case") (number_literal "0x13") (: ":") (if_statement "if (DAT_00088ef4 == 0) {\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }\n      else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }" (if "if") (parenthesized_expression "(DAT_00088ef4 == 0)" (( "(") (binary_expression "DAT_00088ef4 == 0" (identifier "DAT_00088ef4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar26 = "RC/SAE operand must follow immediate operands";\n      }" ({ "{") (expression_statement "pcVar26 = "RC/SAE operand must follow immediate operands";" (assignment_expression "pcVar26 = "RC/SAE operand must follow immediate operands"" (identifier "pcVar26") (= "=") (string_literal ""RC/SAE operand must follow immediate operands"" (" """) (string_content "RC/SAE operand must follow immediate operands") (" """))) (; ";")) (} "}")) (else_clause "else {\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }" (else "else") (compound_statement "{\n        pcVar26 = "RC/SAE operand must precede immediate operands";\n      }" ({ "{") (expression_statement "pcVar26 = "RC/SAE operand must precede immediate operands";" (assignment_expression "pcVar26 = "RC/SAE operand must precede immediate operands"" (identifier "pcVar26") (= "=") (string_literal ""RC/SAE operand must precede immediate operands"" (" """) (string_content "RC/SAE operand must precede immediate operands") (" """))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x14:\n      pcVar26 = "invalid register operand";\n      break;" (case "case") (number_literal "0x14") (: ":") (expression_statement "pcVar26 = "invalid register operand";" (assignment_expression "pcVar26 = "invalid register operand"" (identifier "pcVar26") (= "=") (string_literal ""invalid register operand"" (" """) (string_content "invalid register operand") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n                    \n      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);" (default "default") (: ":") (expression_statement "FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);" (call_expression "FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32)" (identifier "FUN_0002be80") (argument_list "("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32)" (( "(") (string_literal ""../../gas/config/tc-i386.c"" (" """) (string_content "../../gas/config/tc-i386.c") (" """)) (, ",") (number_literal "0x160d") (, ",") (string_literal ""match_template"" (" """) (string_content "match_template") (" """)) (, ",") (identifier "puVar32") () ")"))) (; ";"))) (} "}"))) (labeled_statement "LAB_0004ca20:\n    uVar22 = dcgettext(0,pcVar26,5);" (statement_identifier "LAB_0004ca20") (: ":") (expression_statement "uVar22 = dcgettext(0,pcVar26,5);" (assignment_expression "uVar22 = dcgettext(0,pcVar26,5)" (identifier "uVar22") (= "=") (call_expression "dcgettext(0,pcVar26,5)" (identifier "dcgettext") (argument_list "(0,pcVar26,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar26") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "uVar27 = *(undefined4 *)*DAT_00088f88;" (assignment_expression "uVar27 = *(undefined4 *)*DAT_00088f88" (identifier "uVar27") (= "=") (pointer_expression "*(undefined4 *)*DAT_00088f88" (* "*") (cast_expression "(undefined4 *)*DAT_00088f88" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*DAT_00088f88" (* "*") (identifier "DAT_00088f88"))))) (; ";")) (expression_statement "uVar25 = dcgettext(0,"%s for `%s\'",5);" (assignment_expression "uVar25 = dcgettext(0,"%s for `%s\'",5)" (identifier "uVar25") (= "=") (call_expression "dcgettext(0,"%s for `%s\'",5)" (identifier "dcgettext") (argument_list "(0,"%s for `%s\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s for `%s\'"" (" """) (string_content "%s for `%s") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (labeled_statement "code_r0x0004ca4e:\n    FUN_0002bd60(uVar25,uVar22,uVar27);" (statement_identifier "code_r0x0004ca4e") (: ":") (expression_statement "FUN_0002bd60(uVar25,uVar22,uVar27);" (call_expression "FUN_0002bd60(uVar25,uVar22,uVar27)" (identifier "FUN_0002bd60") (argument_list "(uVar25,uVar22,uVar27)" (( "(") (identifier "uVar25") (, ",") (identifier "uVar22") (, ",") (identifier "uVar27") () ")"))) (; ";"))) (return_statement "return (undefined4 *)0x0;" (return "return") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}")))) (if_statement "if (DAT_00088ec0 != 0) goto LAB_0004bf2b;" (if "if") (parenthesized_expression "(DAT_00088ec0 != 0)" (( "(") (binary_expression "DAT_00088ec0 != 0" (identifier "DAT_00088ec0") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004bf2b;" (goto "goto") (statement_identifier "LAB_0004bf2b") (; ";"))) (labeled_statement "LAB_0004bed8:\n  if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }" (statement_identifier "LAB_0004bed8") (: ":") (if_statement "if (DAT_00088ef4 == 0) {\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }" (if "if") (parenthesized_expression "(DAT_00088ef4 == 0)" (( "(") (binary_expression "DAT_00088ef4 == 0" (identifier "DAT_00088ef4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }\n  }" ({ "{") (if_statement "if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }" (if "if") (parenthesized_expression "((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1))" (( "(") (binary_expression "(DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)" (parenthesized_expression "(DAT_00089010._3_1_ >> 1 & 1)" (( "(") (binary_expression "DAT_00089010._3_1_ >> 1 & 1" (binary_expression "DAT_00089010._3_1_ >> 1" (field_expression "DAT_00089010._3_1_" (identifier "DAT_00089010") (. ".") (field_identifier "_3_1_")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) () ")")) (!= "!=") (parenthesized_expression "(local_44._3_1_ >> 1 & 1)" (( "(") (binary_expression "local_44._3_1_ >> 1 & 1" (binary_expression "local_44._3_1_ >> 1" (field_expression "local_44._3_1_" (identifier "local_44") (. ".") (field_identifier "_3_1_")) (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n      uVar27 = *puVar32;\n      uVar22 = dcgettext(0,"indirect %s without `*\'",5);\n      FUN_0002bc80(uVar22,uVar27);\n    }" ({ "{") (expression_statement "uVar27 = *puVar32;" (assignment_expression "uVar27 = *puVar32" (identifier "uVar27") (= "=") (pointer_expression "*puVar32" (* "*") (identifier "puVar32"))) (; ";")) (expression_statement "uVar22 = dcgettext(0,"indirect %s without `*\'",5);" (assignment_expression "uVar22 = dcgettext(0,"indirect %s without `*\'",5)" (identifier "uVar22") (= "=") (call_expression "dcgettext(0,"indirect %s without `*\'",5)" (identifier "dcgettext") (argument_list "(0,"indirect %s without `*\'",5)" (( "(") (number_literal "0") (, ",") (string_literal ""indirect %s without `*\'"" (" """) (string_content "indirect %s without `*") (escape_sequence "\'") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar22,uVar27);" (call_expression "FUN_0002bc80(uVar22,uVar27)" (identifier "FUN_0002bc80") (argument_list "(uVar22,uVar27)" (( "(") (identifier "uVar22") (, ",") (identifier "uVar27") () ")"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')) {\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }" (if "if") (parenthesized_expression "(((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0'))" (( "(") (binary_expression "((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')" (parenthesized_expression "((*(byte *)(puVar32 + 10) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)(puVar32 + 10) & 0x10) != 0" (parenthesized_expression "(*(byte *)(puVar32 + 10) & 0x10)" (( "(") (binary_expression "*(byte *)(puVar32 + 10) & 0x10" (pointer_expression "*(byte *)(puVar32 + 10)" (* "*") (cast_expression "(byte *)(puVar32 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 10)" (( "(") (binary_expression "puVar32 + 10" (identifier "puVar32") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)puVar32 + 0x25) < '\0')" (( "(") (binary_expression "*(char *)((int)puVar32 + 0x25) < '\0'" (pointer_expression "*(char *)((int)puVar32 + 0x25)" (* "*") (cast_expression "(char *)((int)puVar32 + 0x25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar32 + 0x25)" (( "(") (binary_expression "(int)puVar32 + 0x25" (cast_expression "(int)puVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar32")) (+ "+") (number_literal "0x25")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    uVar27 = *puVar32;\n    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);\n    FUN_0002bc80(uVar22,uVar27);\n  }" ({ "{") (expression_statement "uVar27 = *puVar32;" (assignment_expression "uVar27 = *puVar32" (identifier "uVar27") (= "=") (pointer_expression "*puVar32" (* "*") (identifier "puVar32"))) (; ";")) (expression_statement "uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);" (assignment_expression "uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5)" (identifier "uVar22") (= "=") (call_expression "dcgettext(0,"stand-alone `%s\' prefix",5)" (identifier "dcgettext") (argument_list "(0,"stand-alone `%s\' prefix",5)" (( "(") (number_literal "0") (, ",") (string_literal ""stand-alone `%s\' prefix"" (" """) (string_content "stand-alone `%s") (escape_sequence "\'") (string_content " prefix") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bc80(uVar22,uVar27);" (call_expression "FUN_0002bc80(uVar22,uVar27)" (identifier "FUN_0002bc80") (argument_list "(uVar22,uVar27)" (( "(") (identifier "uVar22") (, ",") (identifier "uVar27") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0004bf2b:\n  puVar33 = puVar32;" (statement_identifier "LAB_0004bf2b") (: ":") (expression_statement "puVar33 = puVar32;" (assignment_expression "puVar33 = puVar32" (identifier "puVar33") (= "=") (identifier "puVar32")) (; ";"))) (expression_statement "puVar21 = &DAT_00088fa0;" (assignment_expression "puVar21 = &DAT_00088fa0" (identifier "puVar21") (= "=") (pointer_expression "&DAT_00088fa0" (& "&") (identifier "DAT_00088fa0"))) (; ";")) (for_statement "for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }" (for "for") (( "(") (assignment_expression "iVar19 = 0x16" (identifier "iVar19") (= "=") (number_literal "0x16")) (; ";") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar19 = iVar19 + -1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -1" (identifier "iVar19") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n    *puVar21 = *puVar33;\n    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;\n    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;\n  }" ({ "{") (expression_statement "*puVar21 = *puVar33;" (assignment_expression "*puVar21 = *puVar33" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (= "=") (pointer_expression "*puVar33" (* "*") (identifier "puVar33"))) (; ";")) (expression_statement "puVar33 = puVar33 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar33 = puVar33 + (uint)bVar34 * -2 + 1" (identifier "puVar33") (= "=") (binary_expression "puVar33 + (uint)bVar34 * -2 + 1" (binary_expression "puVar33 + (uint)bVar34 * -2" (identifier "puVar33") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar21 = puVar21 + (uint)bVar34 * -2 + 1;" (assignment_expression "puVar21 = puVar21 + (uint)bVar34 * -2 + 1" (identifier "puVar21") (= "=") (binary_expression "puVar21 + (uint)bVar34 * -2 + 1" (binary_expression "puVar21 + (uint)bVar34 * -2" (identifier "puVar21") (+ "+") (binary_expression "(uint)bVar34 * -2" (cast_expression "(uint)bVar34" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar34")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (local_d8 != -1) {\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }" (if "if") (parenthesized_expression "(local_d8 != -1)" (( "(") (binary_expression "local_d8 != -1" (identifier "local_d8") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n    uVar5 = (&local_40)[local_d8 * 2];\n    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];\n    (&DAT_00088fd4)[local_d8 * 2] = uVar5;\n  }" ({ "{") (expression_statement "uVar5 = (&local_40)[local_d8 * 2];" (assignment_expression "uVar5 = (&local_40)[local_d8 * 2]" (identifier "uVar5") (= "=") (subscript_expression "(&local_40)[local_d8 * 2]" (parenthesized_expression "(&local_40)" (( "(") (pointer_expression "&local_40" (& "&") (identifier "local_40")) () ")")) ([ "[") (binary_expression "local_d8 * 2" (identifier "local_d8") (* "*") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];" (assignment_expression "*(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2]" (pointer_expression "*(undefined4 *)(&DAT_00088fd0 + local_d8 * 8)" (* "*") (cast_expression "(undefined4 *)(&DAT_00088fd0 + local_d8 * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00088fd0 + local_d8 * 8)" (( "(") (binary_expression "&DAT_00088fd0 + local_d8 * 8" (pointer_expression "&DAT_00088fd0" (& "&") (identifier "DAT_00088fd0")) (+ "+") (binary_expression "local_d8 * 8" (identifier "local_d8") (* "*") (number_literal "8"))) () ")")))) (= "=") (subscript_expression "(&local_44)[local_d8 * 2]" (parenthesized_expression "(&local_44)" (( "(") (pointer_expression "&local_44" (& "&") (identifier "local_44")) () ")")) ([ "[") (binary_expression "local_d8 * 2" (identifier "local_d8") (* "*") (number_literal "2")) (] "]"))) (; ";")) (expression_statement "(&DAT_00088fd4)[local_d8 * 2] = uVar5;" (assignment_expression "(&DAT_00088fd4)[local_d8 * 2] = uVar5" (subscript_expression "(&DAT_00088fd4)[local_d8 * 2]" (parenthesized_expression "(&DAT_00088fd4)" (( "(") (pointer_expression "&DAT_00088fd4" (& "&") (identifier "DAT_00088fd4")) () ")")) ([ "[") (binary_expression "local_d8 * 2" (identifier "local_d8") (* "*") (number_literal "2")) (] "]")) (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (if_statement "if (local_dc != 0) {\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }" (if "if") (parenthesized_expression "(local_dc != 0)" (( "(") (binary_expression "local_dc != 0" (identifier "local_dc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;\n    DAT_00088fd4 = local_38;\n    _DAT_00088fd0 = local_3c;\n    DAT_00088fdc = local_40;\n    DAT_00088fd8 = local_44;\n  }" ({ "{") (expression_statement "DAT_00088fa8 = DAT_00088fa8 ^ local_dc;" (assignment_expression "DAT_00088fa8 = DAT_00088fa8 ^ local_dc" (identifier "DAT_00088fa8") (= "=") (binary_expression "DAT_00088fa8 ^ local_dc" (identifier "DAT_00088fa8") (^ "^") (identifier "local_dc"))) (; ";")) (expression_statement "DAT_00088fd4 = local_38;" (assignment_expression "DAT_00088fd4 = local_38" (identifier "DAT_00088fd4") (= "=") (identifier "local_38")) (; ";")) (expression_statement "_DAT_00088fd0 = local_3c;" (assignment_expression "_DAT_00088fd0 = local_3c" (identifier "_DAT_00088fd0") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "DAT_00088fdc = local_40;" (assignment_expression "DAT_00088fdc = local_40" (identifier "DAT_00088fdc") (= "=") (identifier "local_40")) (; ";")) (expression_statement "DAT_00088fd8 = local_44;" (assignment_expression "DAT_00088fd8 = local_44" (identifier "DAT_00088fd8") (= "=") (identifier "local_44")) (; ";")) (} "}"))) (return_statement "return puVar32;" (return "return") (identifier "puVar32") (; ";")) (} "}"))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

type_6 * __regparm3 match_template(char mnem_suffix)

{
  type_1 *pbVar1;
  type_1 var_29;
  char var_51;
  type_1 var_26;
  type_2 uVar5;
  type_3 *peVar6;
  type_4 g0;
  type_4 g0_00;
  type_4 g0_01;
  type_4 g0_02;
  type_4 g0_03;
  type_4 g1;
  type_4 g1_00;
  type_4 g1_01;
  type_4 g1_02;
  type_4 g1_03;
  type_4 t1;
  type_4 t1_00;
  type_4 t1_01;
  type_4 t1_02;
  type_4 t1_03;
  type_4 t0;
  type_4 t0_00;
  type_4 t0_01;
  type_4 t0_02;
  type_4 t0_03;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  bool bVar13;
  bool bVar14;
  bool bVar15;
  bool bVar16;
  bool bVar17;
  type_2 var_24;
  type_1 var_10;
  int var_4;
  type_5 var_12;
  type_6 *var_16;
  char *pcVar23;
  char *format;
  char *pcVar24;
  type_7 var_48;
  type_1 var_6;
  type_7 var_47;
  type_5 extraout_ECX;
  type_5 extraout_ECX_00;
  type_1 var_22;
  type_5 var_54;
  type_5 var_53;
  type_6 *var_2;
  type_6 *piVar32;
  type_5 var_8;
  type_8 *piVar34;
  type_5 var_52;
  type_1 bVar36;
  type_9 var_58;
  type_5 var_40;
  type_10 var_18;
  type_7 var_15;
  type_5 var_21;
  type_1 var_31;
  type_1 var_39;
  type_5 var_32;
  type_5 var_37;
  type_5 var_38;
  type_5 var_33;
  type_5 var_36;
  type_5 var_35;
  type_1 var_23;
  type_11 suffix_check;
  type_11 mnemsuf_check;
  type_4 operand_types [5];
  type_1 var_30;
  
  var_24 = acc32.array[0];
  bVar36 = 0;
  bVar12 = false;
  bVar11 = false;
  bVar10 = false;
  bVar9 = false;
  bVar8 = false;
  bVar7 = false;
  if ((var_1 == 0) || (i.broadcast == (type_12 *)0x0)) {
    if (i.suffix == 'b') {
      bVar12 = false;
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = true;
    }
    else if (i.suffix == 'w') {
      bVar12 = false;
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = true;
      bVar7 = false;
    }
    else if (i.suffix == 's') {
      bVar12 = false;
      bVar11 = false;
      bVar10 = true;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
    }
    else if (i.suffix == 'l') {
      bVar12 = false;
      bVar11 = false;
      bVar10 = false;
      bVar9 = true;
      bVar8 = false;
      bVar7 = false;
    }
    else if (i.suffix == 'q') {
      bVar12 = false;
      bVar11 = true;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
    }
    else if (i.suffix == '\x01') {
      bVar12 = true;
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
    }
    bVar17 = false;
    bVar16 = false;
    bVar15 = false;
    bVar14 = false;
    bVar13 = false;
    if (var_1 != 0) goto LAB_0004b97b;
  }
  else {
LAB_0004b97b:
    bVar17 = false;
    bVar16 = false;
    bVar15 = false;
    bVar14 = false;
    bVar13 = false;
    switch(mnem_suffix) {
    case 'b':
      bVar17 = false;
      bVar16 = false;
      bVar15 = false;
      bVar14 = false;
      bVar13 = true;
      break;
    case 'l':
      bVar17 = false;
      bVar16 = false;
      bVar15 = true;
      bVar14 = false;
      bVar13 = false;
      break;
    case 'q':
      bVar17 = true;
      bVar16 = false;
      bVar15 = false;
      bVar14 = false;
      bVar13 = false;
      break;
    case 's':
      bVar17 = false;
      bVar16 = true;
      bVar15 = false;
      bVar14 = false;
      bVar13 = false;
      break;
    case 'w':
      bVar17 = false;
      bVar16 = false;
      bVar15 = false;
      bVar14 = true;
      bVar13 = false;
    }
  }
  i.error = number_of_operands_mismatch;
  var_2 = current_templates->start;
  if (var_2 < current_templates->end) {
    var_58 = var_59;
    var_40 = 0;
    piVar32 = var_2;
LAB_0004ba5c:
    var_2 = piVar32;
    var_18 = ~var_19;
    if (i.operands != var_2->operands) goto LAB_0004ba48;
    i.error = unsupported;
    var_4 = var_3(var_2);
    if ((var_4 != 3) ||
       ((i.error = unsupported_with_intel_mnemonic, var_5 != 0 &&
        (((var_2->opcode_modifier).field_0x8 & 0x40) != 0)))) goto LAB_0004ba48;
    i.error = unsupported_syntax;
    if (var_1 == 0) {
      var_6 = (var_2->opcode_modifier).field_0x9;
      if ((var_6 & 1) != 0) goto LAB_0004bea5;
      if (var_7 != 0) goto LAB_0004bfcc;
LAB_0004bacf:
      if ((var_6 & 4) != 0) goto LAB_0004bea5;
LAB_0004bad7:
      i.error = invalid_instruction_suffix;
      var_6 = (var_2->opcode_modifier).field_0x2;
      if ((((var_1 == 0) || (-1 < (char)(var_2->opcode_modifier).field_0x1)) &&
          ((((((var_6 & 2) != 0 && (bVar7)) || (((var_6 & 4) != 0 && (bVar8)))) ||
            (((var_6 & 8) != 0 && (bVar9)))) ||
           (((((var_6 & 0x10) != 0 && (bVar10)) || (((var_6 & 0x20) != 0 && (bVar11)))) ||
            (((var_6 & 0x40) != 0 && (bVar12)))))))) ||
         ((((var_6 & 2) != 0 && (bVar13)) ||
          (((((var_6 & 4) != 0 && (bVar14)) || (((var_6 & 8) != 0 && (bVar15)))) ||
           ((((var_6 & 0x10) != 0 && (bVar16)) || (((var_6 & 0x20) != 0 && (bVar17))))))))))
      goto LAB_0004bea5;
      if ((type_13  [12])((type_13  [12])var_2->opcode_modifier & (type_13  [12])0x1e0) ==
          (type_13  [12])0x0) {
        var_8 = i.operands;
        if (i.operands != 0) {
          var_8 = 0;
          do {
            if (((((type_14)i.types[var_8] & 1) != 0) || (((type_14)i.types[var_8] & 4) != 0))
               || (-1 < *(char *)((int)var_2->operand_types + var_8 * 8 + 4))) {
              if ((((((type_14)var_2->operand_types[var_8] & 1) != 0) &&
                   (((((*(type_1 *)((int)i.types + var_8 * 8 + 3) & 0x20) != 0 &&
                      ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 3) & 0x20) == 0)) ||
                     (((*(type_1 *)((int)i.types + var_8 * 8 + 3) & 0x40) != 0 &&
                      ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 3) & 0x40) == 0)))) ||
                    (((*(char *)((int)i.types + var_8 * 8 + 3) < '\0' &&
                      (-1 < *(char *)((int)var_2->operand_types + var_8 * 8 + 3))) ||
                     ((((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 2) != 0 &&
                       ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 2) == 0)) ||
                      (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 4) != 0 &&
                       ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 4) == 0)))))))))) ||
                  ((var_6 = *(type_1 *)(var_2->operand_types + var_8) >> 2, (var_6 & 1) != 0 &&
                   (((((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 8) != 0 &&
                      ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 8) == 0)) ||
                     (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 0x10) != 0 &&
                      ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 0x10) == 0)))) ||
                    (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 0x20) != 0 &&
                     ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 0x20) == 0)))))))) ||
                 (((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 2) & 0x20) != 0 &&
                  ((((((((*(type_1 *)((int)i.types + var_8 * 8 + 3) & 0x20) != 0 &&
                        ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 3) & 0x20) == 0)) ||
                       (((*(type_1 *)((int)i.types + var_8 * 8 + 3) & 0x40) != 0 &&
                        ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 3) & 0x40) == 0)))) ||
                      (((*(char *)((int)i.types + var_8 * 8 + 3) < '\0' &&
                        (-1 < *(char *)((int)var_2->operand_types + var_8 * 8 + 3))) ||
                       (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 2) != 0 &&
                        ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 2) == 0)))))) ||
                     ((((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 4) != 0 &&
                       ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 4) == 0)) ||
                      (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 8) != 0 &&
                       ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 8) == 0)))))) ||
                    (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 0x10) != 0 &&
                     ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 0x10) == 0)))) ||
                   (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 0x20) != 0 &&
                    ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 0x20) == 0)))))))) {
LAB_0004bc40:
                if ((type_13  [12])((type_13  [12])var_2->opcode_modifier & (type_13  [12])0x1)
                    == (type_13  [12])0x0) goto LAB_0004c4e4;
                if (i.operands != 2) {
                    /* WARNING: Subroutine does not return */
                  var_9("../../gas/config/tc-i386.c",0x7e9,"operand_size_match");
                }
                var_8 = 0;
                goto LAB_0004bc61;
              }
              var_10 = *(type_1 *)((int)i.types + var_8 * 8 + 3);
              if ((var_10 & 0x10) != 0) {
                if (((((((var_10 & 0x20) != 0) &&
                       ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 3) & 0x20) == 0)) ||
                      (((*(type_1 *)((int)i.types + var_8 * 8 + 3) & 0x40) != 0 &&
                       ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 3) & 0x40) == 0)))) ||
                     ((*(char *)((int)i.types + var_8 * 8 + 3) < '\0' &&
                      (-1 < *(char *)((int)var_2->operand_types + var_8 * 8 + 3))))) ||
                    (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 2) != 0 &&
                     ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 2) == 0)))) ||
                   (((((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 4) != 0 &&
                      ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 4) == 0)) ||
                     (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 0x40) != 0 &&
                      ((i.broadcast == (type_12 *)0x0 &&
                       ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 0x40) == 0)))))) ||
                    (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 1) != 0 &&
                     ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 1) == 0))))))
                goto LAB_0004bc40;
                if ((((var_6 & 1) == 0) || (((var_2->opcode_modifier).field_0x7 & 0x20) != 0)) ||
                   ((var_6 = *(type_1 *)((int)var_2->operand_types + var_8 * 8 + 3),
                    (var_6 & 0x20) == 0 &&
                    ((((var_6 & 0x40) == 0 && (-1 < (char)var_6)) &&
                     ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 2) == 0)))))) {
                  if (((((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 8) != 0) &&
                       ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 8) == 0)) ||
                      (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 0x10) != 0 &&
                       ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 0x10) == 0)))) ||
                     (((*(type_1 *)((int)i.types + var_8 * 8 + 4) & 0x20) != 0 &&
                      ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 0x20) == 0))))
                  goto LAB_0004bc40;
                }
                else {
                  var_6 = *(type_1 *)((int)i.types + var_8 * 8 + 4);
                  if (((var_6 & 8) != 0) || (((var_6 & 0x10) != 0 || ((var_6 & 0x20) != 0))))
                  goto LAB_0004bc40;
                }
              }
            }
            var_8 = var_8 + 1;
          } while (var_8 != i.operands);
          var_8 = 0;
        }
      }
      else {
        var_8 = 0;
      }
      goto LAB_0004c04c;
    }
    if (-1 < (char)(var_2->opcode_modifier).field_0x8) {
      var_6 = (var_2->opcode_modifier).field_0x9;
      if (var_7 == 0) goto LAB_0004bacf;
LAB_0004bfcc:
      if ((var_6 & 2) == 0) goto LAB_0004bad7;
    }
    goto LAB_0004bea5;
  }
  if (var_2 == current_templates->end) {
_L3098:
    pcVar24 = "number of operands mismatch";
    goto LAB_0004ca20;
  }
  if (var_11 != 0) {
    piVar32 = var_2;
    piVar34 = &i;
    for (var_4 = 0x16; var_4 != 0; var_4 = var_4 + -1) {
      (piVar34->tm).name = piVar32->name;
      piVar32 = (type_6 *)&piVar32->operands;
      piVar34 = (type_8 *)&(piVar34->tm).operands;
    }
    return var_2;
  }
  var_18 = ~var_19;
  var_40 = 0;
  goto LAB_0004bed8;
LAB_0004bc61:
  if (((((type_14)var_2->operand_types[var_8] & 1) != 0) ||
      ((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 2) & 0x20) != 0)) &&
     (((((var_12 = var_8 ^ 1, (*(type_1 *)((int)i.types + var_12 * 8 + 3) & 0x20) != 0 &&
         ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 3) & 0x20) == 0)) ||
        (((*(type_1 *)((int)i.types + var_12 * 8 + 3) & 0x40) != 0 &&
         ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 3) & 0x40) == 0)))) ||
       ((*(char *)((int)i.types + var_12 * 8 + 3) < '\0' &&
        (-1 < *(char *)((int)var_2->operand_types + var_12 * 8 + 3))))) ||
      ((((*(type_1 *)((int)i.types + var_12 * 8 + 4) & 2) != 0 &&
        ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 4) & 2) == 0)) ||
       (((*(type_1 *)((int)i.types + var_12 * 8 + 4) & 4) != 0 &&
        ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 4) & 4) == 0)))))))) goto LAB_0004c4e4;
  if ((*(type_1 *)((int)i.types + var_8 * 8 + 3) & 0x10) != 0) {
    var_12 = var_8 ^ 1;
    if ((((((*(type_1 *)((int)i.types + var_12 * 8 + 3) & 0x20) != 0) &&
          ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 3) & 0x20) == 0)) ||
         (((*(type_1 *)((int)i.types + var_12 * 8 + 3) & 0x40) != 0 &&
          ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 3) & 0x40) == 0)))) ||
        (((*(char *)((int)i.types + var_12 * 8 + 3) < '\0' &&
          (-1 < *(char *)((int)var_2->operand_types + var_12 * 8 + 3))) ||
         ((((*(type_1 *)((int)i.types + var_12 * 8 + 4) & 2) != 0 &&
           ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 4) & 2) == 0)) ||
          ((((*(type_1 *)((int)i.types + var_12 * 8 + 4) & 4) != 0 &&
            ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 4) & 4) == 0)) ||
           (((*(type_1 *)((int)i.types + var_12 * 8 + 4) & 0x40) != 0 &&
            ((i.broadcast == (type_12 *)0x0 &&
             ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 4) & 0x40) == 0)))))))))))) ||
       (((*(type_1 *)((int)i.types + var_12 * 8 + 4) & 1) != 0 &&
        ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 4) & 1) == 0)))) goto LAB_0004c4e4;
    if (((((type_14)var_2->operand_types[var_12] & 4) == 0) ||
        (((var_2->opcode_modifier).field_0x7 & 0x20) != 0)) ||
       ((var_6 = *(type_1 *)((int)var_2->operand_types + var_12 * 8 + 3), (var_6 & 0x20) == 0 &&
        ((((var_6 & 0x40) == 0 && (-1 < (char)var_6)) &&
         ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 4) & 2) == 0)))))) {
      if ((((*(type_1 *)((int)i.types + var_12 * 8 + 4) & 8) != 0) &&
          ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 4) & 8) == 0)) ||
         ((((*(type_1 *)((int)i.types + var_12 * 8 + 4) & 0x10) != 0 &&
           ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 4) & 0x10) == 0)) ||
          (((*(type_1 *)((int)i.types + var_12 * 8 + 4) & 0x20) != 0 &&
           ((*(type_1 *)((int)var_2->operand_types + var_12 * 8 + 4) & 0x20) == 0)))))) goto LAB_0004c4e4;
    }
    else {
      var_6 = *(type_1 *)((int)i.types + var_12 * 8 + 4);
      if (((var_6 & 8) != 0) || (((var_6 & 0x10) != 0 || ((var_6 & 0x20) != 0))))
      goto LAB_0004c4e4;
    }
  }
  if (var_8 == 1) goto code_r0x0004be14;
  var_8 = 1;
  goto LAB_0004bc61;
LAB_0004c4e4:
  i.error = var_59;
  var_18 = ~var_19;
  goto LAB_0004ba48;
code_r0x0004be14:
  var_8 = 0;
LAB_0004c04c:
  do {
    uVar5 = *(type_2 *)((int)var_2->operand_types + var_8 * 8 + 4);
    operand_types[var_8].array[0] = var_2->operand_types[var_8].array[0];
    *(type_2 *)((int)operand_types + var_8 * 8 + 4) = uVar5;
    var_8 = var_8 + 1;
  } while (var_8 != 5);
  if (i.suffix == 'q') {
    if (type_10 != var_13) {
      if (var_1 == 0) {
        if ((*var_2->name != 'f') || (var_4 = var_14(var_2->name), var_4 != 2))
        goto LAB_0004be5a;
      }
      else if ((-1 < (char)(var_2->opcode_modifier).field_0x1) &&
              ((*var_2->name != 'f' || (var_4 = var_14(var_2->name), var_4 == 0)))) {
LAB_0004be5a:
        if ((operand_types[0].array[0] & 6) != 0) {
          var_15 = var_2->operands;
          if ((((type_14)operand_types[1 < var_15] & 2) != 0) ||
             (((type_14)operand_types[1 < var_15] & 4) != 0)) goto LAB_0004c397;
        }
        if ((var_2->base_opcode != 0xfc7) || (var_2->extension_opcode != 1)) {
LAB_0004bea5:
          var_18 = ~var_19;
          var_16 = current_templates->end;
          piVar32 = var_2 + 1;
          if (var_16 <= var_2 + 1) goto LAB_0004bec0;
          goto LAB_0004ba5c;
        }
      }
    }
LAB_0004c390:
    var_15 = var_2->operands;
  }
  else {
    if ((i.suffix != 'l') || ((cpu_arch_flags.array[0]._0_1_ & 4) != 0)) goto LAB_0004c390;
    if (var_1 == 0) {
      if ((*var_2->name == 'f') && (var_4 = var_14(var_2->name), var_4 == 2))
      goto LAB_0004c390;
    }
    else if (((char)(var_2->opcode_modifier).field_0x1 < '\0') ||
            ((*var_2->name == 'f' && (var_4 = var_14(var_2->name), var_4 != 0))))
    goto LAB_0004c390;
    if ((operand_types[0].array[0] & 6) == 0) goto LAB_0004bea5;
    var_15 = var_2->operands;
    if ((((type_14)operand_types[1 < var_15] & 2) == 0) &&
       (((type_14)operand_types[1 < var_15] & 4) == 0)) goto LAB_0004bea5;
  }
LAB_0004c397:
  if (var_15 == 0) {
    var_18 = ~var_19;
    var_16 = current_templates->end;
    goto LAB_0004bec6;
  }
  var_18 = ~var_19;
  if (i.prefix[2] != '\0') {
    if (type_10 == var_17) {
      var_18 = var_19;
      do {
        if ((*(type_1 *)((int)operand_types + var_18 * 8 + 2) & 2) != 0) {
          *(type_1 *)((int)operand_types + var_18 * 8 + 2) =
               *(type_1 *)((int)operand_types + var_18 * 8 + 2) & 0xf9 | 4;
          goto LAB_0004c3ff;
        }
        var_18 = var_18 + var_17;
      } while (var_18 != 5);
    }
    else {
      var_18 = type_10;
      if (type_10 == var_19) {
        do {
          if ((*(type_1 *)((int)operand_types + var_18 * 8 + 2) & 4) != 0) {
            *(type_1 *)((int)operand_types + var_18 * 8 + 2) =
                 *(type_1 *)((int)operand_types + var_18 * 8 + 2) & 0xf9 | 2;
            goto LAB_0004c3ff;
          }
          var_18 = var_18 + var_17;
        } while (var_18 != 5);
      }
      else {
        var_18 = ~var_19;
        if (type_10 != var_13) goto LAB_0004c3ff;
        var_18 = var_19;
        do {
          if ((*(type_1 *)((int)operand_types + var_18 * 8 + 2) & 0x10) != 0) {
            *(type_1 *)((int)operand_types + var_18 * 8 + 2) =
                 *(type_1 *)((int)operand_types + var_18 * 8 + 2) & 0xeb | 4;
            goto LAB_0004c3ff;
          }
          var_18 = var_18 + var_17;
        } while (var_18 != 5);
      }
    }
    var_18 = ~var_19;
  }
LAB_0004c3ff:
  if ((i.reloc[0] == var_20) && (var_2->base_opcode == 0xa0)) goto LAB_0004ba48;
  var_6 = (var_2->opcode_modifier).field_0x1;
  var_21 = 0;
  if ((var_6 & 0x40) != 0) {
    var_21 = (1 << ((type_13)var_15 & 0x1f)) - 1;
    if (i.broadcast != (type_12 *)0x0) {
      var_21 = var_21 & ~(1 << ((type_1)(i.broadcast)->operand & 0x1f));
    }
  }
  var_12 = i.types[0].array[0] & operand_types[0].array[0];
  var_10 = (type_1)(var_12 >> 0x10);
  var_23 = (type_1)(var_12 >> 0x18);
  var_22 = (type_1)((type_5)i.types[0]._0_4_ >> 0x18);
  var_29 = (type_1)((type_5)i.types[1]._0_4_ >> 0x10);
  var_30 = (type_1)((type_5)i.types[1]._0_4_ >> 0x18);
  var_31 = (type_1)i.types[0].array[1];
  var_8 = var_40;
  switch(var_15) {
  default:
    goto _L2937;
  case var_28:
    if (((var_12 & 0x1dffffff) != 0 ||
         (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&
       (((i.types[0].array[0]._2_1_ ^ var_10) & 0x40) == 0 && ((var_22 ^ var_23) & 2) == 0))
    goto _L2937;
    goto LAB_0004c880;
  case var_27:
    if (type_10 == var_13) {
      if ((((var_2->base_opcode == 0x90) && (i.types[0].array[1] == acc32.array[1])) &&
          (i.types[0].array[0] == var_24)) &&
         ((i.types[1].array[0] == var_24 && (i.types[1].array[1] == acc32.array[1]))))
      goto LAB_0004ba48;
    }
    else if (((i.hle_prefix != (char *)0x0) &&
             ((var_2->base_opcode == 0xa0 && ((i.types[0].array[0] & 0x200000) != 0)))) &&
            ((i.types[1].array[0] & 0x5f0000) != 0)) goto LAB_0004ba48;
    if (i.dir_encoding != var_25) goto _L2938;
    var_26 = *(type_1 *)&var_2->opcode_modifier;
    if ((var_26 & 1) == 0) goto LAB_0004c538;
    goto LAB_0004c7fc;
  case var_27|var_28:
    break;
  case 4:
  case 5:
    goto _L2938;
  }
  if (i.dir_encoding == var_25) {
LAB_0004c538:
    if ((i.mem_operands == 0) &&
       ((type_13  [12])((type_13  [12])var_2->opcode_modifier & (type_13  [12])0x4) !=
        (type_13  [12])0x0)) goto LAB_0004ba48;
  }
_L2938:
  if (((var_12 & 0x1dffffff) != 0 ||
       (i.types[0].array[1] & operand_types[0].array[1] & 0xffffff80) != 0) &&
     (((((var_10 ^ i.types[0].array[0]._2_1_) & 0x40) == 0 && ((var_22 ^ var_23) & 2) == 0 &&
       (var_12 = i.types[1].array[0] & operand_types[1].array[0],
       (var_12 & 0x1dffffff) != 0 ||
       (i.types[1].array[1] & operand_types[1].array[1] & 0xffffff80) != 0)) &&
      (var_23 = (type_1)(var_12 >> 0x18),
      (((type_1)(var_12 >> 0x10) ^ var_29) & 0x40) == 0 && ((var_30 ^ var_23) & 2) == 0)))) {
    if ((var_21 & 3) == 3) {
      if ((((i.types[0].array[0] & 5) != 0) ||
          ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&
           ((operand_types[0].array[0] & 4) != 0)))) &&
         ((((i.types[1].array[0] & 5) != 0 ||
           ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&
            ((operand_types[1].array[0] & 4) != 0)))) &&
          ((((char)(var_30 ^ var_22) < '\0' ||
            (((var_31 ^ (type_1)i.types[1].array[1]) & 0x3a) != 0 || ((var_30 ^ var_22) & 0x60) != 0
            )) && (((((type_1)operand_types[1]._3_1_ >> 5 & 1 & (type_1)operand_types[0]._3_1_ >> 5 & 1)
                     != 0 || (((((type_1)operand_types[1]._3_1_ >> 6 & 1 &
                                (type_1)operand_types[0]._3_1_ >> 6 & 1) != 0 ||
                               ((char)(operand_types[1].array[0]._3_1_ &
                                      operand_types[0].array[0]._3_1_) < '\0')) ||
                              (((type_1)operand_types[0]._4_1_ >> 1 & 1 &
                               (type_1)operand_types[1]._4_1_ >> 1 & 1) != 0)))) ||
                   (((((type_1)operand_types[1]._4_1_ >> 3 & 1 & (type_1)operand_types[0]._4_1_ >> 3 & 1
                      ) != 0 ||
                     (((type_1)operand_types[0]._4_1_ >> 4 & 1 & (type_1)operand_types[1]._4_1_ >> 4 & 1
                      ) != 0)) ||
                    (((type_1)operand_types[1]._4_1_ >> 5 & 1 & (type_1)operand_types[0]._4_1_ >> 5 & 1)
                     != 0)))))))))) {
        i.error = register_type_mismatch;
        goto LAB_0004c7ec;
      }
    }
    if (var_15 == 4) {
LAB_0004d03b:
      var_33 = i.types[3].array[1] & operand_types[3].array[1];
      var_32 = i.types[3].array[0] & operand_types[3].array[0];
LAB_0004d05d:
      var_38 = i.types[2].array[1] & operand_types[2].array[1];
      var_37 = operand_types[2].array[0] & i.types[2].array[0];
    }
    else {
      if (var_15 == 5) {
        var_36 = i.types[4].array[1] & operand_types[4].array[1];
        var_35 = i.types[4].array[0] & operand_types[4].array[0];
        goto LAB_0004d03b;
      }
      if (var_15 == 3) goto LAB_0004d05d;
    }
    if (var_15 == 4) {
LAB_0004d3b2:
      if (((var_32 & 0xffffff) != 0 || (var_32 >> 0x18 & 0x1d) != 0) ||
          ((var_33 & 0x80) != 0 || (var_33 & 0xffffff00) != 0)) {
        var_12 = i.types[3].array[0] >> 0x18;
        var_15._0_1_ = (type_13)(var_32 >> 0x18);
        if ((((type_1)(var_32 >> 0x10) ^ (type_1)((type_5)i.types[3]._0_4_ >> 0x10)) & 0x40) == 0 &&
            (((type_1)((type_5)i.types[3]._0_4_ >> 0x18) ^ (type_13)var_15) & 2) == 0) {
          if ((((var_21 & 10) == 10) &&
              (t0_02.array[1] = i.types[3].array[1], t0_02.array[0] = i.types[3].array[0],
              g0_02.array[1] = operand_types[1].array[1], g0_02.array[0] = operand_types[1].array[0]
              , g1_02.array[1] = operand_types[3].array[1],
              g1_02.array[0] = operand_types[3].array[0], t1_02.array[1] = var_12,
              t1_02.array[0] = var_12, var_4 = var_34(g0_02,t0_02,g1_02,t1_02)
              , var_12 = extraout_ECX, var_4 == 0)) ||
             (((var_21 & 0xc) == 0xc &&
              (t0_01.array[1] = i.types[3].array[1], t0_01.array[0] = i.types[3].array[0],
              g0_01.array[1] = operand_types[2].array[1], g0_01.array[0] = operand_types[2].array[0]
              , g1_01.array[1] = operand_types[3].array[1],
              g1_01.array[0] = operand_types[3].array[0], t1_01.array[1] = var_12,
              t1_01.array[0] = var_12, var_4 = var_34(g0_01,t0_01,g1_01,t1_01)
              , var_4 == 0)))) goto LAB_0004ba48;
          goto LAB_0004d445;
        }
      }
    }
    else if (var_15 == 5) {
      if (((var_35 & 0xffffff) != 0 || (var_35 >> 0x18 & 0x1d) != 0) ||
          ((var_36 & 0x80) != 0 || (var_36 & 0xffffff00) != 0)) {
        var_15._0_1_ = (type_13)(var_35 >> 0x18);
        if ((((type_1)(var_35 >> 0x10) ^ (type_1)((type_5)i.types[4]._0_4_ >> 0x10)) & 0x40) == 0 &&
            (((type_1)((type_5)i.types[4]._0_4_ >> 0x18) ^ (type_13)var_15) & 2) == 0) {
          t0_03.array[1] = i.types[4].array[1];
          t0_03.array[0] = i.types[4].array[0];
          g0.array[1] = operand_types[3].array[1];
          g0.array[0] = operand_types[3].array[0];
          g1.array[1] = operand_types[4].array[1];
          g1.array[0] = operand_types[4].array[0];
          t1.array[1] = i.types[4].array[0] >> 0x18;
          t1.array[0] = i.types[4].array[0] >> 0x18;
          var_4 = var_34(g0,t0_03,g1,t1);
          if (var_4 == 0) goto LAB_0004ba48;
          goto LAB_0004d3b2;
        }
      }
    }
    else {
      if (var_15 != 3) goto _L2937;
LAB_0004d445:
      if (((var_37 & 0xffffff) != 0 || (var_37 >> 0x18 & 0x1d) != 0) ||
          ((var_38 & 0x80) != 0 || (var_38 & 0xffffff00) != 0)) {
        var_12 = i.types[2].array[0] >> 0x18;
        var_15._0_1_ = (type_13)(var_37 >> 0x18);
        if ((((type_1)(var_37 >> 0x10) ^ (type_1)((type_5)i.types[2]._0_4_ >> 0x10)) & 0x40) == 0 &&
            (((type_1)((type_5)i.types[2]._0_4_ >> 0x18) ^ (type_13)var_15) & 2) == 0) {
          if ((((var_21 & 5) == 5) &&
              (t0_00.array[1] = i.types[2].array[1], t0_00.array[0] = i.types[2].array[0],
              g0_03.array[1] = operand_types[0].array[1], g0_03.array[0] = operand_types[0].array[0]
              , g1_03.array[1] = operand_types[2].array[1],
              g1_03.array[0] = operand_types[2].array[0], t1_03.array[1] = var_12,
              t1_03.array[0] = var_12, var_4 = var_34(g0_03,t0_00,g1_03,t1_03)
              , var_12 = extraout_ECX_00, var_4 == 0)) ||
             (((var_21 & 6) == 6 &&
              (t0.array[1] = i.types[2].array[1], t0.array[0] = i.types[2].array[0],
              g0_00.array[1] = operand_types[1].array[1], g0_00.array[0] = operand_types[1].array[0]
              , g1_00.array[1] = operand_types[2].array[1],
              g1_00.array[0] = operand_types[2].array[0], t1_00.array[1] = var_12,
              t1_00.array[0] = var_12, var_4 = var_34(g0_00,t0,g1_00,t1_00),
              var_4 == 0)))) goto LAB_0004ba48;
          goto _L2937;
        }
      }
    }
LAB_0004c880:
    i.error = operand_type_mismatch;
    goto LAB_0004ba48;
  }
  i.error = operand_type_mismatch;
LAB_0004c7ec:
  var_26 = *(type_1 *)&var_2->opcode_modifier;
  if ((var_26 & 1) == 0) goto LAB_0004ba48;
LAB_0004c7fc:
  var_8 = i.types[0].array[0] & operand_types[1].array[0];
  if (((var_8 & 0xffffff) == 0 && (var_8 >> 0x18 & 0x1d) == 0) &&
      ((i.types[0].array[1] & operand_types[1].array[1] & 0xffffff00) == 0 &&
      (i.types[0].array[1] & operand_types[1].array[1] & 0x80) == 0)) goto LAB_0004c880;
  var_39 = (type_1)(var_8 >> 0x18);
  if ((((((type_1)(var_8 >> 0x10) ^ i.types[0].array[0]._2_1_) & 0x40) != 0 ||
        ((var_22 ^ var_39) & 2) != 0) ||
      (var_8 = operand_types[0].array[0] & i.types[1].array[0],
      ((var_8 & 0xffffff) == 0 && (var_8 >> 0x18 & 0x1d) == 0) &&
      ((operand_types[0].array[1] & i.types[1].array[1] & 0xffffff00) == 0 &&
      (operand_types[0].array[1] & i.types[1].array[1] & 0x80) == 0))) ||
     (var_39 = (type_1)(var_8 >> 0x18),
     (((type_1)(var_8 >> 0x10) ^ var_29) & 0x40) != 0 || ((var_30 ^ var_39) & 2) != 0))
  goto LAB_0004c880;
  if (var_21 != 0) {
    if (((((i.types[0].array[0] & 5) != 0) ||
         ((((i.types[0].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[0].array[1] & 0x40) == 0)) &&
          ((operand_types[1].array[0] & 4) != 0)))) &&
        (((i.types[1].array[0] & 5) != 0 ||
         ((((i.types[1].array[0] >> 0x10 & 0x5f) != 0 && ((i.types[1].array[1] & 0x40) == 0)) &&
          ((operand_types[0].array[0] & 4) != 0)))))) &&
       ((((char)(var_22 ^ var_30) < '\0' ||
         (((var_31 ^ (type_1)i.types[1].array[1]) & 0x3a) != 0 || ((var_22 ^ var_30) & 0x60) != 0))
        && ((((type_1)operand_types[1]._3_1_ >> 5 & 1 & (type_1)operand_types[0]._3_1_ >> 5 & 1) != 0 ||
            (((((((type_1)operand_types[0]._3_1_ >> 6 & 1 & (type_1)operand_types[1]._3_1_ >> 6 & 1) !=
                 0 || ((char)(operand_types[0].array[0]._3_1_ & operand_types[1].array[0]._3_1_) <
                       '\0')) ||
               (((type_1)operand_types[1]._4_1_ >> 1 & 1 & (type_1)operand_types[0]._4_1_ >> 1 & 1) != 0
               )) || ((((type_1)operand_types[1]._4_1_ >> 3 & 1 &
                       (type_1)operand_types[0]._4_1_ >> 3 & 1) != 0 ||
                      (((type_1)operand_types[0]._4_1_ >> 4 & 1 &
                       (type_1)operand_types[1]._4_1_ >> 4 & 1) != 0)))) ||
             (((type_1)operand_types[0]._4_1_ >> 5 & 1 & (type_1)operand_types[1]._4_1_ >> 5 & 1) != 0))
            )))))) {
      i.error = register_type_mismatch;
      goto LAB_0004ba48;
    }
  }
  var_40 = 0;
  if ((var_26 & 1) != 0) {
    var_40 = (-(type_5)((operand_types[0].array[1] & 4) == 0) & 0xfffffc02) + 0x400;
  }
  var_8 = var_40 | 8;
  if ((var_6 & 4) == 0) {
    var_8 = var_40;
  }
_L2937:
  var_40 = var_8;
  if (((((((var_2->cpu_flags).array[3] & var_41) != 0) ||
        (((var_2->cpu_flags).array[2] & var_42) != 0)) ||
       (((var_2->cpu_flags).array[1] & var_43) != 0)) ||
      (((var_2->cpu_flags).array[0] & var_44) != 0)) &&
     ((((*(type_1 *)((int)&var_2->cpu_flags + 4) | cpu_arch_flags.array[1]._0_1_) & 8) == 0 &&
      (var_2->operands != 0)))) {
    var_8 = 0;
    do {
      if (((*(type_1 *)((int)var_2->operand_types + var_8 * 8 + 4) & 0x20) != 0) &&
         ((var_6 = *(type_1 *)((int)i.types + var_8 * 8 + 4), (var_6 & 0x10) != 0 ||
          ((var_6 & 8) != 0)))) goto LAB_0004cc2a;
      var_8 = var_8 + 1;
    } while (var_2->operands != var_8);
  }
  var_6 = (var_2->opcode_modifier).field_0x6;
  var_10 = var_6 & 0x30;
  if ((var_6 & 0x30) == 0) {
    if ((i.index_reg != (type_15 *)0x0) &&
       (((type_14)(i.index_reg)->reg_type & 0x3800000000) != 0)) {
      i.error = unsupported_vector_index_register;
      var_58 = unsupported_vector_index_register;
      goto LAB_0004ba48;
    }
    if (((var_2->opcode_modifier).field_0x8 & 8) != 0) goto LAB_0004c6f7;
    goto LAB_0004c71a;
  }
  if (((var_2->opcode_modifier).field_0x8 & 8) != 0) {
LAB_0004c6f7:
    if ((i.mask == (type_16 *)0x0) || ((i.mask)->mask->reg_num == '\0')) {
      i.error = no_default_mask;
      var_58 = no_default_mask;
      goto LAB_0004ba48;
    }
    if (var_10 == 0) goto LAB_0004c71a;
  }
  if (i.index_reg != (type_15 *)0x0) {
    if (var_10 == 0x10) {
      var_6 = *(type_1 *)((int)&(i.index_reg)->reg_type + 4) & 8;
    }
    else if (var_10 == 0x20) {
      var_6 = *(type_1 *)((int)&(i.index_reg)->reg_type + 4) & 0x10;
    }
    else {
      if (var_10 != 0x30) goto LAB_0004cef0;
      var_6 = *(type_1 *)((int)&(i.index_reg)->reg_type + 4) & 0x20;
    }
    if (var_6 != 0) {
      if (i.reg_operands == 2) {
        if (i.mask != (type_16 *)0x0) goto LAB_0004c71a;
        if ((i.types[0].array[0] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          var_9("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands");
        }
        if ((i.types[0].array[1] & 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
          var_9("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands");
        }
        if ((i.types[2].array[0] & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          var_9("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands");
        }
        if ((i.types[2].array[1] & 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
          var_9("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands");
        }
        if (var_45 != var_46) {
          var_47 = (type_7)(i.op[0].regs)->reg_num;
          if (((i.op[0].regs)->reg_flags & 1) != 0) {
            var_47 = var_47 + 8;
          }
          if (((i.op[0].regs)->reg_flags & 4) != 0) {
            var_47 = var_47 + 0x10;
          }
          var_6 = (i.index_reg)->reg_flags;
          var_48 = (type_7)var_6;
          var_15 = (type_7)(i.index_reg)->reg_num;
          if ((var_6 & 1) != 0) {
            var_15 = var_15 + 8;
          }
          if ((var_6 & 4) != 0) {
            var_15 = var_15 + 0x10;
          }
          if (var_15 != var_47) {
            var_48 = (type_7)(i.op[2].regs)->reg_num;
            if (((i.op[2].regs)->reg_flags & 1) != 0) {
              var_48 = var_48 + 8;
            }
            if (((i.op[2].regs)->reg_flags & 4) != 0) {
              var_48 = var_48 + 0x10;
            }
            if ((var_15 != var_48) && (var_47 != var_48)) goto LAB_0004d657;
          }
          if (var_45 == var_27) goto LAB_0004ddd8;
          pcVar24 = "mask, index, and destination registers should be distinct";
          goto LAB_0004cd9e;
        }
      }
      else {
        if (i.mask == (type_16 *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_9("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands");
        }
        if (((i.reg_operands == 1) && ((i.types[1].array[0] & 4) != 0)) &&
           ((i.types[1].array[1] & 0x38) != 0)) {
          var_8 = (type_5)(i.op[1].regs)->reg_num;
          if (((i.op[1].regs)->reg_flags & 1) != 0) {
            var_8 = var_8 + 8;
          }
          if (((i.op[1].regs)->reg_flags & 4) != 0) {
            var_8 = var_8 + 0x10;
          }
          var_12 = (type_5)(i.index_reg)->reg_num;
          if (((i.index_reg)->reg_flags & 1) != 0) {
            var_12 = var_12 + 8;
          }
          if (((i.index_reg)->reg_flags & 4) != 0) {
            var_12 = var_12 + 0x10;
          }
          if (var_12 == var_8) {
            if (var_45 == var_27) {
LAB_0004ddd8:
              i.error = invalid_vector_register_set;
              var_58 = invalid_vector_register_set;
              goto LAB_0004ba48;
            }
            if (var_45 == var_46) goto LAB_0004c71a;
            pcVar24 = "index and destination registers should be distinct";
            var_48 = var_45;
LAB_0004cd9e:
            pcVar24 = (char *)var_49(0,pcVar24,5,var_48);
            var_50(pcVar24);
          }
        }
LAB_0004c71a:
        var_8 = i.operands;
        var_6 = (var_2->opcode_modifier).field_0x7;
        if (i.broadcast != (type_12 *)0x0) {
          if ((var_6 & 0x20) != 0) {
            var_15 = (i.broadcast)->operand;
            var_10 = *(type_1 *)((int)i.types + var_15 * 8 + 3);
            if ((var_10 & 0x10) != 0) {
              var_29 = *(type_1 *)((int)i.types + var_15 * 8 + 4);
              var_51 = *(char *)((int)var_2->operand_types + var_15 * 8 + 3);
              if ((var_29 & 0x40) == 0) {
                if (var_51 < '\0') {
                  var_4 = 4;
                  if ((char)var_10 < '\0') goto LAB_0004c78c;
                }
                else {
                  var_4 = 8;
                  if ((var_29 & 2) != 0) goto LAB_0004c78c;
                }
              }
              else {
                var_4 = (-(type_5)(-1 < var_51) & 4) + 4;
LAB_0004c78c:
                var_4 = var_4 * (i.broadcast)->type;
                if (var_4 == 0x10) {
                  var_12 = 8;
                }
                else if (var_4 < 0x11) {
                  var_12 = 2;
                  if (var_4 != 8) goto LAB_0004c7c9;
                }
                else if (var_4 == 0x20) {
                  var_12 = 0x10;
                }
                else {
                  var_12 = 0x20;
                  if (var_4 != 0x40) goto LAB_0004c7c9;
                }
                if ((*(type_5 *)((int)var_2->operand_types + var_15 * 8 + 4) & var_12) != 0) {
                  if ((((var_2->opcode_modifier).field_0x1 & 0x40) != 0) && (i.operands != 0)) {
                    var_52 = 0;
                    do {
                      if (var_15 != var_52) {
                        var_4 = var_52 * 8;
                        var_53 = i.types[var_52].array[0];
                        var_54 = *(type_5 *)((int)i.types + var_4 + 4);
                        var_10 = *(type_1 *)((int)var_2->operand_types + var_4 + 4);
                        var_29 = *(type_1 *)((int)var_2->operand_types + var_15 * 8 + 3);
                        var_30 = *(type_1 *)((int)var_2->operand_types + var_15 * 8 + 4);
                        if (((((var_53 & 5) != 0) ||
                             ((((var_53 >> 0x10 & 0x5f) != 0 && ((var_54 & 0x40) == 0)) &&
                              ((var_2->operand_types[var_52].array[0] & 4) != 0)))) &&
                            (((var_2->operand_types[var_15].array[0] & 4) != 0 &&
                             ((((var_53 >> 0x18 & 0x60) != 0 || ((int)var_53 < 0)) ||
                              (((var_54 ^ var_12) & 0x3a) != 0)))))) &&
                           ((((((var_29 >> 5 & 1 &
                                *(type_1 *)((int)var_2->operand_types + var_4 + 3) >> 5 & 1) != 0 ||
                               ((var_29 >> 6 & 1 &
                                *(type_1 *)((int)var_2->operand_types + var_4 + 3) >> 6 & 1) != 0)) ||
                              ((char)(var_29 & *(type_1 *)((int)var_2->operand_types + var_4 + 3)) < '\0')
                              ) || (((var_30 >> 1 & 1 & var_10 >> 1 & 1) != 0 ||
                                    ((var_30 >> 3 & 1 & var_10 >> 3 & 1) != 0)))) ||
                            (((var_30 >> 4 & 1 & var_10 >> 4 & 1) != 0 ||
                             ((var_10 >> 5 & 1 & var_30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;
                      }
                      var_52 = var_52 + 1;
                    } while (var_52 != i.operands);
                  }
                  goto LAB_0004d08c;
                }
              }
            }
          }
LAB_0004c7c9:
          i.error = unsupported_broadcast;
          var_58 = unsupported_broadcast;
          goto LAB_0004ba48;
        }
        if (((var_6 & 0x20) == 0) || (i.mem_operands == 0)) {
          var_15 = 4;
        }
        else {
          if (i.operands == 0) {
LAB_0004cfed:
                    /* WARNING: Subroutine does not return */
            var_9("../../gas/config/tc-i386.c",0x141e,"check_VecOperands");
          }
          if ((i.types[0].array[0] & 0x5f0000) == 0) {
            var_12 = 0;
            do {
              var_15 = var_12 + 1;
              if (var_15 == i.operands) goto LAB_0004cfed;
              var_4 = var_12 * 8;
              var_12 = var_15;
            } while ((*(type_17 *)((int)i.types + var_4 + 10) & 0x5f) == 0);
          }
          else {
            var_15 = 0;
          }
          if (*(char *)((int)var_2->operand_types + var_15 * 8 + 3) < '\0') {
            var_10 = *(type_1 *)((int)i.types + var_15 * 8 + 3) >> 7;
          }
          else {
            var_10 = *(type_1 *)((int)i.types + var_15 * 8 + 4) >> 1 & 1;
          }
          if (var_10 != 0) {
            i.error = broadcast_needed;
            var_58 = broadcast_needed;
            goto LAB_0004ba48;
          }
        }
LAB_0004d08c:
        if (i.mask != (type_16 *)0x0) {
          if (((var_6 & 0x18) == 0) || (((i.mask)->zeroing != 0 && ((var_6 & 0x18) == 0x10)))) {
            i.error = unsupported_masking;
            var_58 = unsupported_masking;
            goto LAB_0004ba48;
          }
          if ((i.mask)->operand != i.operands - 1) {
            i.error = mask_not_on_destination;
            var_58 = mask_not_on_destination;
            goto LAB_0004ba48;
          }
        }
        if (i.rounding != (type_18 *)0x0) {
          if ((i.rounding)->type == var_55) {
            if ((var_6 & 0xc0) != 0x80) goto LAB_0004dd1c;
          }
          else if ((var_6 & 0x40) == 0) {
LAB_0004dd1c:
            i.error = unsupported_rc_sae;
            var_58 = unsupported_rc_sae;
            goto LAB_0004ba48;
          }
          if ((1 < i.imm_operands) && ((i.rounding)->operand != i.imm_operands - 1)) {
            i.error = rc_sae_operand_not_last_imm;
            var_58 = rc_sae_operand_not_last_imm;
            goto LAB_0004ba48;
          }
        }
        var_6 = (var_2->opcode_modifier).field_0x8;
        i.memshift = var_6 & 7;
        if (((var_6 & 7) != 0) && (i.disp_encoding != var_25)) {
          if (i.broadcast != (type_12 *)0x0) {
            i.memshift = ((int)((type_5)(*(type_1 *)((int)var_2->operand_types + var_15 * 8 + 3) >> 7) <<
                               0x1f) >> 0x1f) + 3;
          }
          if (i.operands != 0) {
            var_12 = 0;
            do {
              if (((*(type_1 *)((int)i.types + var_12 * 8 + 2) & 0x1f) != 0) &&
                 (peVar6 = i.op[var_12].disps, peVar6->field_0x10 == '\x02')) {
                var_4 = *(int *)((int)&peVar6->X_add_number + 4);
                var_52 = (type_5)peVar6->X_add_number;
                if (i.memshift == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
                  var_9("../../gas/config/tc-i386.c",0x896,"fits_in_disp8");
                }
                var_6 = (type_1)i.memshift;
                if (((1 << (var_6 & 0x1f)) - 1U & var_52) == 0) {
                  var_54 = var_4 >> (var_6 & 0x1f);
                  var_52 = var_52 >> (var_6 & 0x1f) | var_4 << 0x20 - (var_6 & 0x1f);
                  var_53 = var_54;
                  if ((i.memshift & 0x20) != 0) {
                    var_53 = (int)var_54 >> 0x1f;
                    var_52 = var_54;
                  }
                  var_4 = var_53 + (0xffffff7f < var_52);
                  if (var_4 == 0 && (type_5)(0xff < var_52 + 0x80) <= (type_5)-var_4) {
                    pbVar1 = (type_1 *)((int)i.types + var_12 * 8 + 2);
                    *pbVar1 = *pbVar1 | 1;
                    goto LAB_0004d657;
                  }
                }
                pbVar1 = (type_1 *)((int)i.types + var_12 * 8 + 2);
                *pbVar1 = *pbVar1 & 0xfe;
              }
              var_12 = var_12 + 1;
            } while (var_12 != var_8);
          }
        }
        i.memshift = 0;
      }
LAB_0004d657:
      if (i.vec_encoding == var_56) {
        if ((var_2->opcode_modifier).field_0x7 != '\0') goto LAB_0004d671;
      }
      else {
        if (((var_2->opcode_modifier).field_0x5 & 6) != 0) {
          if (((type_14)var_2->operand_types[0] & 0x10000000000) == 0) goto LAB_0004d671;
          if (((i.op[0].disps)->field_0x10 == '\x02') &&
             (((i.op[0].disps)->X_add_number & 0xfffffff0) == 0 &&
              *(int *)((int)&(i.op[0].disps)->X_add_number + 4) == 0)) {
            i.types[0].array[0] = 0;
            i.types[0].array[1] = 0x100;
            var_16 = current_templates->end;
            goto LAB_0004bec6;
          }
          i.error = bad_imm4;
          var_58 = bad_imm4;
          goto LAB_0004ba48;
        }
        if (i.vec_encoding == var_57) {
LAB_0004d671:
          var_16 = current_templates->end;
          goto LAB_0004bec6;
        }
      }
LAB_0004cc2a:
      i.error = unsupported;
      var_58 = unsupported;
      goto LAB_0004ba48;
    }
  }
LAB_0004cef0:
  i.error = invalid_vsib_address;
  var_58 = invalid_vsib_address;
LAB_0004ba48:
  var_16 = current_templates->end;
  piVar32 = var_2 + 1;
  if (var_16 <= var_2 + 1) goto LAB_0004bec0;
  goto LAB_0004ba5c;
LAB_0004bec0:
  var_2 = var_2 + 1;
LAB_0004bec6:
  if (var_16 == var_2) {
    if (var_58 == var_59) {
      var_58 = i.error;
    }
    switch(var_58) {
    case var_59:
      pcVar24 = "operand size mismatch";
      break;
    case operand_type_mismatch:
      pcVar24 = "operand type mismatch";
      break;
    case register_type_mismatch:
      pcVar24 = "register type mismatch";
      break;
    case number_of_operands_mismatch:
      goto _L3098;
    case invalid_instruction_suffix:
      pcVar24 = "invalid instruction suffix";
      break;
    case bad_imm4:
      pcVar24 = "constant doesn\'t fit in 4 bits";
      break;
    case unsupported_with_intel_mnemonic:
      pcVar24 = "unsupported with Intel mnemonic";
      break;
    case unsupported_syntax:
      pcVar24 = "unsupported syntax";
      break;
    case unsupported:
      pcVar23 = current_templates->start->name;
      pcVar24 = (char *)0x5;
      format = (char *)var_49(0,"unsupported instruction `%s\'",5);
      goto LAB_0004ca4e;
    case invalid_vsib_address:
      pcVar24 = "invalid VSIB address";
      break;
    case invalid_vector_register_set:
      pcVar24 = "mask, index, and destination registers must be distinct";
      break;
    case unsupported_vector_index_register:
      pcVar24 = "unsupported vector index register";
      break;
    case unsupported_broadcast:
      pcVar24 = "unsupported broadcast";
      break;
    case broadcast_not_on_src_operand:
      pcVar24 = "broadcast not on source memory operand";
      break;
    case broadcast_needed:
      pcVar24 = "broadcast is needed for operand of such type";
      break;
    case unsupported_masking:
      pcVar24 = "unsupported masking";
      break;
    case mask_not_on_destination:
      pcVar24 = "mask not on destination operand";
      break;
    case no_default_mask:
      pcVar24 = "default mask isn\'t allowed";
      break;
    case unsupported_rc_sae:
      pcVar24 = "unsupported static rounding/sae";
      break;
    case rc_sae_operand_not_last_imm:
      if (var_1 == 0) {
        pcVar24 = "RC/SAE operand must follow immediate operands";
      }
      else {
        pcVar24 = "RC/SAE operand must precede immediate operands";
      }
      break;
    case invalid_register_operand:
      pcVar24 = "invalid register operand";
      break;
    default:
                    /* WARNING: Subroutine does not return */
      var_9("../../gas/config/tc-i386.c",0x160d,"match_template");
    }
LAB_0004ca20:
    pcVar23 = (char *)var_49(0,pcVar24,5);
    pcVar24 = current_templates->start->name;
    format = (char *)var_49(0,"%s for `%s\'",5);
LAB_0004ca4e:
    var_60(format,pcVar23,pcVar24);
    return (type_6 *)0x0;
  }
  if (var_11 != 0) goto LAB_0004bf2b;
LAB_0004bed8:
  if (var_1 == 0) {
    if (((type_1)i.types[0].array[0]._3_1_ >> 1 & 1) != ((type_1)operand_types[0]._3_1_ >> 1 & 1)) {
      pcVar24 = var_2->name;
      pcVar23 = (char *)var_49(0,"indirect %s without `*\'",5);
      var_50(pcVar23,pcVar24);
    }
  }
  if ((((var_2->opcode_modifier).field_0x4 & 0x10) != 0) &&
     ((char)(var_2->opcode_modifier).field_0x1 < '\0')) {
    pcVar24 = var_2->name;
    pcVar23 = (char *)var_49(0,"stand-alone `%s\' prefix",5);
    var_50(pcVar23,pcVar24);
  }
LAB_0004bf2b:
  piVar32 = var_2;
  piVar34 = &i;
  for (var_4 = 0x16; var_4 != 0; var_4 = var_4 + -1) {
    (piVar34->tm).name = piVar32->name;
    piVar32 = (type_6 *)((int)piVar32 + (type_5)bVar36 * -8 + 4);
    piVar34 = (type_8 *)((int)piVar34 + ((type_5)bVar36 * -2 + 1) * 4);
  }
  if (var_18 != ~var_19) {
    uVar5 = *(type_2 *)((int)operand_types + var_18 * 8 + 4);
    i.tm.operand_types[var_18].array[0] = operand_types[var_18].array[0];
    *(type_2 *)((int)i.tm.operand_types + var_18 * 8 + 4) = uVar5;
  }
  if (var_40 != 0) {
    i.tm.base_opcode = i.tm.base_opcode ^ var_40;
    i.tm.operand_types[0].array[1] = operand_types[1].array[1];
    i.tm.operand_types[0].array[0] = operand_types[1].array[0];
    i.tm.operand_types[1].array[1] = operand_types[0].array[1];
    i.tm.operand_types[1].array[0] = operand_types[0].array[0];
  }
  return var_2;
}


(translation_unit (ERROR (binary_expression left: (identifier) (ERROR (identifier)) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (ERROR (identifier)))))) (compound_statement (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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) 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: (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: (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: (identifier)) (declaration type: (type_identifier) 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: (identifier)) (declaration type: (type_identifier) 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: (identifier)) (declaration type: (type_identifier) 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: (identifier)) (declaration type: (type_identifier) 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: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (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: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (true)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (false)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (false)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (true))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (false))))))))) (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: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (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)))) (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))))))) (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: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier))))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (identifier)))))))))))))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) 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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))))))))) right: (parenthesized_expression (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_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) (string_literal (string_content)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) 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: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))))))) consequence: (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))))))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) 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: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))))))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (number_literal))) (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))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (character)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (character))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier)))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier)))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (character)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (character))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier)))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier)))) right: (number_literal)))))) right: (number_literal))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal)) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal)) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal)) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (labeled_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: (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))) (if_statement condition: (parenthesized_expression (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: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (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: (identifier))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (break_statement)) (case_statement value: (number_literal)) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_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: (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (number_literal))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (identifier))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) right: (number_literal)))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal))))))))))))))))) consequence: (compound_statement (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (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: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal))) 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: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal))) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (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) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal))) 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: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_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: (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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (number_literal))))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (identifier))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) right: (number_literal))))))) consequence: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) right: (number_literal)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (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: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal))) right: (number_literal)) right: (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))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (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))))) condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) 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)))) (if_statement condition: (parenthesized_expression (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: (number_literal))) 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: (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: (identifier) right: (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: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (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: (number_literal))))) right: (char_literal (escape_sequence)))))) 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))))) (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) 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: (identifier) 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))) (expression_statement (assignment_expression left: (identifier) 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: (identifier) right: (number_literal))))) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (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 (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier)))))) (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 (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (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 (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (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 (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (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: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier) right: (number_literal))))) right: (number_literal))) 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: (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) 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: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier) right: (number_literal))))) right: (number_literal))) 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: (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: (identifier) right: (number_literal))))) right: (number_literal))) 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: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) 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: (string_literal (string_content)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (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: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier) right: (number_literal))))) right: (number_literal))) 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: (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier) right: (number_literal))))) right: (number_literal))) 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: (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: (identifier) right: (number_literal))))) right: (number_literal))) 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: (identifier) right: (identifier))) consequence: (compound_statement (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: (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (number_literal) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (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: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier))))) right: (number_literal))) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_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: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (identifier))) right: (number_literal))) right: (number_literal))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal)))))))) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))) right: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (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))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier))))))) (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))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)) 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (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: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))) (goto_statement label: (statement_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_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: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) 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: (identifier) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal)))) right: (number_literal)))) right: (number_literal))) 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: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier))) right: (binary_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: (char_literal (escape_sequence))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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) (string_literal (string_content)) (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: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (identifier))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (binary_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: (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) consequence: (compound_statement (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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (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: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (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: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_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: (char_literal (escape_sequence)))) right: (parenthesized_expression (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal)) right: (binary_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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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))) (goto_statement label: (statement_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (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))) (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))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) 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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (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: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (goto_statement label: (statement_identifier))) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content) (escape_sequence) (string_content)))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement value: (number_literal) (if_statement condition: (parenthesized_expression (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))))))) (break_statement)) (case_statement value: (number_literal) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (break_statement)) (case_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (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: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier))))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_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: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (string_literal (string_content) (escape_sequence) (string_content)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (binary_expression left: (identifier) right: (number_literal))) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (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: (identifier))))) (return_statement (identifier))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined4 * __regparm3 MASKED(undefined1 param_1)

{
  int iVar1;
  byte *pbVar2;
  char cVar3;
  byte bVar4;
  uint uVar5;
  bool bVar6;
  bool bVar7;
  bool bVar8;
  bool bVar9;
  bool bVar10;
  bool bVar11;
  bool bVar12;
  bool bVar13;
  bool bVar14;
  bool bVar15;
  bool bVar16;
  byte bVar17;
  byte bVar18;
  int iVar19;
  uint uVar20;
  undefined4 *puVar21;
  undefined4 uVar22;
  int iVar23;
  int iVar24;
  undefined4 uVar25;
  char *pcVar26;
  undefined4 uVar27;
  uint uVar28;
  uint extraout_ECX;
  uint extraout_ECX_00;
  byte bVar29;
  uint uVar31;
  undefined4 *puVar32;
  undefined4 *puVar33;
  byte bVar34;
  int local_e0;
  uint local_dc;
  int local_d8;
  uint local_d4;
  uint local_d0;
  byte local_c8;
  byte local_c0;
  uint uStack_a4;
  uint uStack_a0;
  uint uStack_9c;
  uint uStack_98;
  uint uStack_94;
  uint uStack_90;
  byte local_8c;
  undefined4 local_44;
  uint local_40;
  uint local_3c;
  byte bStack_39;
  uint local_38;
  uint uStack_34;
  uint uStack_30;
  uint uStack_2c;
  uint uStack_28;
  uint uStack_24;
  uint uStack_20;
  undefined4 uStack_14;
  byte bVar30;
  
  uVar5 = DAT_000654f0;
  bVar34 = 0;
  uStack_14 = 0x4b919;
  bVar11 = false;
  bVar10 = false;
  bVar9 = false;
  bVar8 = false;
  bVar7 = false;
  bVar6 = false;
  if ((DAT_00088ef4 == 0) || (DAT_000890cc == (int *)0x0)) {
    if (DAT_00088ff8 == 'b') {
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
      bVar6 = true;
    }
    else if (DAT_00088ff8 == 'w') {
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = true;
      bVar6 = false;
    }
    else if (DAT_00088ff8 == 's') {
      bVar11 = false;
      bVar10 = false;
      bVar9 = true;
      bVar8 = false;
      bVar7 = false;
      bVar6 = false;
    }
    else if (DAT_00088ff8 == 'l') {
      bVar11 = false;
      bVar10 = false;
      bVar9 = false;
      bVar8 = true;
      bVar7 = false;
      bVar6 = false;
    }
    else if (DAT_00088ff8 == 'q') {
      bVar11 = false;
      bVar10 = true;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
      bVar6 = false;
    }
    else if (DAT_00088ff8 == '\x01') {
      bVar11 = true;
      bVar10 = false;
      bVar9 = false;
      bVar8 = false;
      bVar7 = false;
      bVar6 = false;
    }
    bVar16 = false;
    bVar15 = false;
    bVar14 = false;
    bVar13 = false;
    bVar12 = false;
    if (DAT_00088ef4 != 0) goto LAB_0004b97b;
  }
  else {
LAB_0004b97b:
    bVar16 = false;
    bVar15 = false;
    bVar14 = false;
    bVar13 = false;
    bVar12 = false;
    switch(param_1) {
    case 0x62:
      bVar16 = false;
      bVar15 = false;
      bVar14 = false;
      bVar13 = false;
      bVar12 = true;
      break;
    case 0x6c:
      bVar16 = false;
      bVar15 = false;
      bVar14 = true;
      bVar13 = false;
      bVar12 = false;
      break;
    case 0x71:
      bVar16 = true;
      bVar15 = false;
      bVar14 = false;
      bVar13 = false;
      bVar12 = false;
      break;
    case 0x73:
      bVar16 = false;
      bVar15 = true;
      bVar14 = false;
      bVar13 = false;
      bVar12 = false;
      break;
    case 0x77:
      bVar16 = false;
      bVar15 = false;
      bVar14 = false;
      bVar13 = true;
      bVar12 = false;
    }
  }
  DAT_000890f8 = 3;
  puVar32 = (undefined4 *)*DAT_00088f88;
  if (puVar32 < (undefined4 *)DAT_00088f88[1]) {
    local_e0 = 0;
    local_dc = 0;
    puVar33 = puVar32;
LAB_0004ba5c:
    puVar32 = puVar33;
    local_d8 = -1;
    if (DAT_00088ffc != puVar32[1]) goto LAB_0004ba48;
    DAT_000890f8 = 8;
    iVar19 = FUN_00047980();
    if ((iVar19 != 3) ||
       ((DAT_000890f8 = 6, DAT_00088eec != 0 && ((*(byte *)(puVar32 + 0xb) & 0x40) != 0))))
    goto LAB_0004ba48;
    DAT_000890f8 = 7;
    if (DAT_00088ef4 == 0) {
      bVar17 = *(byte *)((int)puVar32 + 0x2d);
      if ((bVar17 & 1) != 0) goto LAB_0004bea5;
      if (DAT_00088ef0 != 0) goto LAB_0004bfcc;
LAB_0004bacf:
      if ((bVar17 & 4) != 0) goto LAB_0004bea5;
LAB_0004bad7:
      DAT_000890f8 = 4;
      bVar17 = *(byte *)((int)puVar32 + 0x26);
      if ((((DAT_00088ef4 == 0) || (-1 < *(char *)((int)puVar32 + 0x25))) &&
          ((((((bVar17 & 2) != 0 && (bVar6)) || (((bVar17 & 4) != 0 && (bVar7)))) ||
            (((bVar17 & 8) != 0 && (bVar8)))) ||
           (((((bVar17 & 0x10) != 0 && (bVar9)) || (((bVar17 & 0x20) != 0 && (bVar10)))) ||
            (((bVar17 & 0x40) != 0 && (bVar11)))))))) ||
         ((((bVar17 & 2) != 0 && (bVar12)) ||
          (((((bVar17 & 4) != 0 && (bVar13)) || (((bVar17 & 8) != 0 && (bVar14)))) ||
           ((((bVar17 & 0x10) != 0 && (bVar15)) || (((bVar17 & 0x20) != 0 && (bVar16))))))))))
      goto LAB_0004bea5;
      if ((*(ushort *)(puVar32 + 9) & 0x1e0) == 0) {
        iVar19 = DAT_00088ffc;
        if (DAT_00088ffc != 0) {
          iVar19 = 0;
          do {
            uVar28 = iVar19 + 0xe;
            if ((((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 1) != 0) ||
                ((*(byte *)(&DAT_00088fa0 + uVar28 * 2) & 4) != 0)) ||
               (-1 < *(char *)(puVar32 + (iVar19 + 6) * 2 + 1))) {
              iVar23 = iVar19 + 6;
              if (((((*(byte *)(puVar32 + iVar23 * 2) & 1) != 0) &&
                   (((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&
                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||
                     (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&
                      ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||
                    (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&
                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||
                     (((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)) ||
                      ((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)))))))))) ||
                  (((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) != 0 &&
                   ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&
                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||
                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&
                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||
                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&
                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) ||
                 (((*(byte *)((int)puVar32 + iVar23 * 8 + 2) & 0x20) != 0 &&
                  ((((((((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x20) != 0 &&
                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||
                       (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&
                        ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||
                      (((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&
                        (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))) ||
                       ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&
                        ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) ||
                     (((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||
                      ((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)))))) ||
                    ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&
                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||
                   ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&
                    ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))))))) {
LAB_0004bc40:
                if ((*(byte *)(puVar32 + 9) & 1) == 0) goto LAB_0004c4e4;
                if (DAT_00088ffc != 2) {
                    /* WARNING: Subroutine does not return */
                  FUN_0002be80("../../gas/config/tc-i386.c",0x7e9,"operand_size_match",uVar28);
                }
                uVar28 = 0;
                goto LAB_0004bc61;
              }
              bVar17 = *(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3);
              if ((bVar17 & 0x10) != 0) {
                if (((((((bVar17 & 0x20) != 0) &&
                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x20) == 0)) ||
                      (((*(byte *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) & 0x40) != 0 &&
                       ((*(byte *)((int)puVar32 + iVar23 * 8 + 3) & 0x40) == 0)))) ||
                     ((*(char *)((int)&DAT_00088fa0 + uVar28 * 8 + 3) < '\0' &&
                      (-1 < *(char *)((int)puVar32 + iVar23 * 8 + 3))))) ||
                    ((((&DAT_00088fa4)[uVar28 * 8] & 2) != 0 &&
                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))) ||
                   ((((((&DAT_00088fa4)[uVar28 * 8] & 4) != 0 &&
                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 4) == 0)) ||
                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x40) != 0 &&
                      ((DAT_000890cc == (int *)0x0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x40) == 0)))))) ||
                    ((((&DAT_00088fa4)[uVar28 * 8] & 1) != 0 &&
                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 1) == 0)))))) goto LAB_0004bc40;
                if ((((*(byte *)(puVar32 + iVar23 * 2) >> 2 & 1) == 0) ||
                    ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||
                   ((bVar17 = *(byte *)((int)puVar32 + iVar23 * 8 + 3), (bVar17 & 0x20) == 0 &&
                    ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&
                     ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 2) == 0)))))) {
                  if ((((((&DAT_00088fa4)[uVar28 * 8] & 8) != 0) &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 8) == 0)) ||
                      ((((&DAT_00088fa4)[uVar28 * 8] & 0x10) != 0 &&
                       ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x10) == 0)))) ||
                     ((((&DAT_00088fa4)[uVar28 * 8] & 0x20) != 0 &&
                      ((*(byte *)(puVar32 + iVar23 * 2 + 1) & 0x20) == 0)))) goto LAB_0004bc40;
                }
                else {
                  bVar17 = (&DAT_00088fa4)[uVar28 * 8];
                  uVar28 = (uint)bVar17;
                  if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))
                  goto LAB_0004bc40;
                }
              }
            }
            iVar19 = iVar19 + 1;
          } while (iVar19 != DAT_00088ffc);
          iVar19 = 0;
        }
      }
      else {
        iVar19 = 0;
      }
      goto LAB_0004c04c;
    }
    if (-1 < *(char *)(puVar32 + 0xb)) {
      bVar17 = *(byte *)((int)puVar32 + 0x2d);
      if (DAT_00088ef0 == 0) goto LAB_0004bacf;
LAB_0004bfcc:
      if ((bVar17 & 2) == 0) goto LAB_0004bad7;
    }
    goto LAB_0004bea5;
  }
  if (puVar32 == (undefined4 *)DAT_00088f88[1]) {
LAB_0004cbaa:
    pcVar26 = "number of operands mismatch";
    goto LAB_0004ca20;
  }
  if (DAT_00088ec0 != 0) {
    puVar33 = puVar32;
    puVar21 = &DAT_00088fa0;
    for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {
      *puVar21 = *puVar33;
      puVar33 = puVar33 + 1;
      puVar21 = puVar21 + 1;
    }
    return puVar32;
  }
  local_d8 = -1;
  local_dc = 0;
  goto LAB_0004bed8;
LAB_0004bc61:
  if (((*(byte *)(puVar32 + (uVar28 + 6) * 2) & 1) != 0) ||
     ((*(byte *)((int)puVar32 + (uVar28 + 6) * 8 + 2) & 0x20) != 0)) {
    uVar20 = uVar28 ^ 1;
    iVar19 = uVar20 + 0xe;
    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&
          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x20) == 0)) ||
         (((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&
          ((*(byte *)((int)puVar32 + (uVar20 + 6) * 8 + 3) & 0x40) == 0)))) ||
        ((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&
         (-1 < *(char *)((int)puVar32 + (uVar20 + 6) * 8 + 3))))) ||
       (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&
         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 2) == 0)) ||
        ((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&
         ((*(byte *)(puVar32 + (uVar20 + 6) * 2 + 1) & 4) == 0)))))) goto LAB_0004c4e4;
  }
  if ((*(byte *)((int)&DAT_00088fa0 + (uVar28 + 0xe) * 8 + 3) & 0x10) != 0) {
    local_d4 = uVar28 ^ 1;
    iVar19 = local_d4 + 0xe;
    if ((((((*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x20) != 0) &&
          ((*(byte *)((int)puVar32 + (local_d4 + 6) * 8 + 3) & 0x20) == 0)) ||
         ((local_d4 = local_d4 + 6, (*(byte *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) & 0x40) != 0 &&
          ((*(byte *)((int)puVar32 + local_d4 * 8 + 3) & 0x40) == 0)))) ||
        (((*(char *)((int)&DAT_00088fa0 + iVar19 * 8 + 3) < '\0' &&
          (-1 < *(char *)((int)puVar32 + local_d4 * 8 + 3))) ||
         (((((&DAT_00088fa4)[iVar19 * 8] & 2) != 0 &&
           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)) ||
          (((((&DAT_00088fa4)[iVar19 * 8] & 4) != 0 &&
            ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 4) == 0)) ||
           ((((&DAT_00088fa4)[iVar19 * 8] & 0x40) != 0 &&
            ((DAT_000890cc == (int *)0x0 && ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x40) == 0))))
           )))))))) ||
       ((((&DAT_00088fa4)[iVar19 * 8] & 1) != 0 &&
        ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 1) == 0)))) goto LAB_0004c4e4;
    if ((((*(byte *)(puVar32 + local_d4 * 2) & 4) == 0) ||
        ((*(byte *)((int)puVar32 + 0x2b) & 0x20) != 0)) ||
       ((bVar17 = *(byte *)((int)puVar32 + local_d4 * 8 + 3), (bVar17 & 0x20) == 0 &&
        ((((bVar17 & 0x40) == 0 && (-1 < (char)bVar17)) &&
         ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 2) == 0)))))) {
      if (((((&DAT_00088fa4)[iVar19 * 8] & 8) != 0) &&
          ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 8) == 0)) ||
         (((((&DAT_00088fa4)[iVar19 * 8] & 0x10) != 0 &&
           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x10) == 0)) ||
          ((((&DAT_00088fa4)[iVar19 * 8] & 0x20) != 0 &&
           ((*(byte *)(puVar32 + local_d4 * 2 + 1) & 0x20) == 0)))))) goto LAB_0004c4e4;
    }
    else {
      bVar17 = (&DAT_00088fa4)[iVar19 * 8];
      if (((bVar17 & 8) != 0) || (((bVar17 & 0x10) != 0 || ((bVar17 & 0x20) != 0))))
      goto LAB_0004c4e4;
    }
  }
  if (uVar28 == 1) goto code_r0x0004be14;
  uVar28 = 1;
  goto LAB_0004bc61;
LAB_0004c4e4:
  DAT_000890f8 = 0;
  local_d8 = -1;
  goto LAB_0004ba48;
code_r0x0004be14:
  iVar19 = 0;
LAB_0004c04c:
  do {
    uVar28 = puVar32[iVar19 * 2 + 0xd];
    (&local_44)[iVar19 * 2] = puVar32[iVar19 * 2 + 0xc];
    (&local_40)[iVar19 * 2] = uVar28;
    iVar19 = iVar19 + 1;
  } while (iVar19 != 5);
  if (DAT_00088ff8 == 'q') {
    if (DAT_00088f0c != 2) {
      if (DAT_00088ef4 == 0) {
        if ((*(char *)*puVar32 != 'f') || (iVar19 = FUN_00045bd0(), iVar19 != 2)) goto LAB_0004be5a;
      }
      else if ((-1 < *(char *)((int)puVar32 + 0x25)) &&
              ((*(char *)*puVar32 != 'f' || (iVar19 = FUN_00045bd0(), iVar19 == 0)))) {
LAB_0004be5a:
        if ((local_44 & 6) != 0) {
          local_d4 = puVar32[1];
          if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) != 0) ||
             ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) != 0)) goto LAB_0004c397;
        }
        if ((puVar32[2] != 0xfc7) || (puVar32[3] != 1)) {
LAB_0004bea5:
          local_d8 = -1;
          puVar21 = (undefined4 *)DAT_00088f88[1];
          puVar33 = puVar32 + 0x16;
          if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;
          goto LAB_0004ba5c;
        }
      }
    }
LAB_0004c390:
    local_d4 = puVar32[1];
  }
  else {
    if ((DAT_00088ff8 != 'l') || ((DAT_0008053c & 4) != 0)) goto LAB_0004c390;
    if (DAT_00088ef4 == 0) {
      if ((*(char *)*puVar32 == 'f') && (iVar19 = FUN_00045bd0(), iVar19 == 2)) goto LAB_0004c390;
    }
    else if ((*(char *)((int)puVar32 + 0x25) < '\0') ||
            ((*(char *)*puVar32 == 'f' && (iVar19 = FUN_00045bd0(), iVar19 != 0))))
    goto LAB_0004c390;
    if ((local_44 & 6) == 0) goto LAB_0004bea5;
    local_d4 = puVar32[1];
    if (((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 2) == 0) &&
       ((*(byte *)(&local_44 + (uint)(1 < local_d4) * 2) & 4) == 0)) goto LAB_0004bea5;
  }
LAB_0004c397:
  if (local_d4 == 0) {
    local_d8 = -1;
    puVar21 = (undefined4 *)DAT_00088f88[1];
    goto LAB_0004bec6;
  }
  local_d8 = -1;
  if (DAT_00089092 != '\0') {
    if (DAT_00088f0c == 1) {
      local_d8 = 0;
      do {
        if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 2) != 0) {
          *(byte *)((int)&local_44 + local_d8 * 8 + 2) =
               *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 4;
          goto LAB_0004c3ff;
        }
        local_d8 = local_d8 + 1;
      } while (local_d8 != 5);
    }
    else {
      local_d8 = DAT_00088f0c;
      if (DAT_00088f0c == 0) {
        do {
          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 4) != 0) {
            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =
                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xf9 | 2;
            goto LAB_0004c3ff;
          }
          local_d8 = local_d8 + 1;
        } while (local_d8 != 5);
      }
      else {
        local_d8 = -1;
        if (DAT_00088f0c != 2) goto LAB_0004c3ff;
        local_d8 = 0;
        do {
          if ((*(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0x10) != 0) {
            *(byte *)((int)&local_44 + local_d8 * 8 + 2) =
                 *(byte *)((int)&local_44 + local_d8 * 8 + 2) & 0xeb | 4;
            goto LAB_0004c3ff;
          }
          local_d8 = local_d8 + 1;
        } while (local_d8 != 5);
      }
    }
    local_d8 = -1;
  }
LAB_0004c3ff:
  if ((DAT_00089060 == 0x164) && (puVar32[2] == 0xa0)) goto LAB_0004ba48;
  local_d0 = 0;
  if ((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) {
    local_d0 = (1 << ((byte)local_d4 & 0x1f)) - 1;
    if (DAT_000890cc != (int *)0x0) {
      local_d0 = local_d0 & ~(1 << ((byte)DAT_000890cc[1] & 0x1f));
    }
  }
  uVar20 = DAT_00089010 & local_44;
  bVar17 = (byte)(uVar20 >> 0x10);
  local_8c = (byte)(uVar20 >> 0x18);
  bVar29 = (byte)(DAT_00089010 >> 0x18);
  bVar18 = (byte)(DAT_00089018 >> 0x10);
  bVar30 = (byte)(DAT_00089018 >> 0x18);
  local_c8 = (byte)DAT_00089014;
  uVar28 = local_dc;
  switch(local_d4) {
  default:
    goto LAB_0004c685;
  case 1:
    if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&
       (((DAT_00089010._2_1_ ^ bVar17) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0))
    goto LAB_0004c685;
    goto code_r0x0004c880;
  case 2:
    if (DAT_00088f0c == 2) {
      if ((((puVar32[2] == 0x90) && (DAT_00089014 == _UNK_000654f4)) && (DAT_00089010 == uVar5)) &&
         ((DAT_00089018 == uVar5 && (DAT_0008901c == _UNK_000654f4)))) goto LAB_0004ba48;
    }
    else if (((DAT_000890ec != 0) && ((puVar32[2] == 0xa0 && ((DAT_00089010 & 0x200000) != 0)))) &&
            ((DAT_00089018 & 0x5f0000) != 0)) goto LAB_0004ba48;
    if (DAT_000890d4 != 2) goto code_r0x0004c54a;
    bVar4 = *(byte *)(puVar32 + 9);
    if ((bVar4 & 1) == 0) goto code_r0x0004c538;
    goto code_r0x0004c7fc;
  case 3:
    break;
  case 4:
  case 5:
    goto code_r0x0004c54a;
  }
  if (DAT_000890d4 == 2) {
code_r0x0004c538:
    if ((DAT_00089008 == 0) && ((*(byte *)(puVar32 + 9) & 4) != 0)) goto LAB_0004ba48;
  }
code_r0x0004c54a:
  if (((uVar20 & 0x1dffffff) != 0 || (DAT_00089014 & local_40 & 0xffffff80) != 0) &&
     (((((bVar17 ^ DAT_00089010._2_1_) & 0x40) == 0 && ((bVar29 ^ local_8c) & 2) == 0 &&
       (uVar20 = DAT_00089018 & local_3c,
       (uVar20 & 0x1dffffff) != 0 || (DAT_0008901c & local_38 & 0xffffff80) != 0)) &&
      (local_8c = (byte)(uVar20 >> 0x18),
      (((byte)(uVar20 >> 0x10) ^ bVar18) & 0x40) == 0 && ((bVar30 ^ local_8c) & 2) == 0)))) {
    if ((local_d0 & 3) == 3) {
      if ((((DAT_00089010 & 5) != 0) ||
          ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&
           ((local_44 & 4) != 0)))) &&
         ((((DAT_00089018 & 5) != 0 ||
           ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&
            ((local_3c & 4) != 0)))) &&
          ((((char)(bVar30 ^ bVar29) < '\0' ||
            (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar30 ^ bVar29) & 0x60) != 0)) &&
           ((((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||
             ((((bStack_39 >> 6 & 1 & local_44._3_1_ >> 6 & 1) != 0 ||
               ((char)(bStack_39 & local_44._3_1_) < '\0')) ||
              (((byte)local_40 >> 1 & 1 & (byte)local_38 >> 1 & 1) != 0)))) ||
            (((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||
              (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)) ||
             (((byte)local_38 >> 5 & 1 & (byte)local_40 >> 5 & 1) != 0)))))))))) {
        DAT_000890f8 = 2;
        goto code_r0x0004c7ec;
      }
    }
    if (local_d4 == 4) {
code_r0x0004d03b:
      uStack_98 = uRam0008902c & uStack_28;
      uStack_a4 = uRam00089028 & uStack_2c;
code_r0x0004d05d:
      uStack_9c = _DAT_00089024 & uStack_30;
      uStack_a0 = uStack_34 & _DAT_00089020;
    }
    else {
      if (local_d4 == 5) {
        uStack_94 = DAT_00089034 & uStack_20;
        uStack_90 = _DAT_00089030 & uStack_24;
        goto code_r0x0004d03b;
      }
      if (local_d4 == 3) goto code_r0x0004d05d;
    }
    if (local_d4 == 4) {
code_r0x0004d3b2:
      if (((uStack_a4 & 0xffffff) != 0 || (uStack_a4 >> 0x18 & 0x1d) != 0) ||
          ((uStack_98 & 0x80) != 0 || (uStack_98 & 0xffffff00) != 0)) {
        uVar20 = uRam00089028 >> 0x18;
        local_d4._0_1_ = (byte)(uStack_a4 >> 0x18);
        if ((((byte)(uStack_a4 >> 0x10) ^ (byte)(uRam00089028 >> 0x10)) & 0x40) == 0 &&
            (((byte)(uRam00089028 >> 0x18) ^ (byte)local_d4) & 2) == 0) {
          if ((((local_d0 & 10) == 10) &&
              (iVar19 = FUN_00041970(local_3c,local_38,uRam00089028,uRam0008902c,uStack_2c,uStack_28
                                     ,uVar20,uVar20), uVar20 = extraout_ECX, iVar19 == 0)) ||
             (((local_d0 & 0xc) == 0xc &&
              (iVar19 = FUN_00041970(uStack_34,uStack_30,uRam00089028,uRam0008902c,uStack_2c,
                                     uStack_28,uVar20,uVar20), iVar19 == 0)))) goto LAB_0004ba48;
          goto code_r0x0004d445;
        }
      }
    }
    else if (local_d4 == 5) {
      if (((uStack_90 & 0xffffff) != 0 || (uStack_90 >> 0x18 & 0x1d) != 0) ||
          ((uStack_94 & 0x80) != 0 || (uStack_94 & 0xffffff00) != 0)) {
        local_d4._0_1_ = (byte)(uStack_90 >> 0x18);
        if ((((byte)(uStack_90 >> 0x10) ^ (byte)(_DAT_00089030 >> 0x10)) & 0x40) == 0 &&
            (((byte)(_DAT_00089030 >> 0x18) ^ (byte)local_d4) & 2) == 0) {
          iVar19 = FUN_00041970(uStack_2c,uStack_28,_DAT_00089030,DAT_00089034,uStack_24,uStack_20,
                                _DAT_00089030 >> 0x18,_DAT_00089030 >> 0x18);
          if (iVar19 == 0) goto LAB_0004ba48;
          goto code_r0x0004d3b2;
        }
      }
    }
    else {
      if (local_d4 != 3) goto LAB_0004c685;
code_r0x0004d445:
      if (((uStack_a0 & 0xffffff) != 0 || (uStack_a0 >> 0x18 & 0x1d) != 0) ||
          ((uStack_9c & 0x80) != 0 || (uStack_9c & 0xffffff00) != 0)) {
        uVar20 = _DAT_00089020 >> 0x18;
        local_d4._0_1_ = (byte)(uStack_a0 >> 0x18);
        if ((((byte)(uStack_a0 >> 0x10) ^ (byte)(_DAT_00089020 >> 0x10)) & 0x40) == 0 &&
            (((byte)(_DAT_00089020 >> 0x18) ^ (byte)local_d4) & 2) == 0) {
          if ((((local_d0 & 5) == 5) &&
              (iVar19 = FUN_00041970(local_44,local_40,_DAT_00089020,_DAT_00089024,uStack_34,
                                     uStack_30,uVar20,uVar20), uVar20 = extraout_ECX_00, iVar19 == 0
              )) || (((local_d0 & 6) == 6 &&
                     (iVar19 = FUN_00041970(local_3c,local_38,_DAT_00089020,_DAT_00089024,uStack_34,
                                            uStack_30,uVar20,uVar20), iVar19 == 0))))
          goto LAB_0004ba48;
          goto LAB_0004c685;
        }
      }
    }
code_r0x0004c880:
    DAT_000890f8 = 1;
    goto LAB_0004ba48;
  }
  DAT_000890f8 = 1;
code_r0x0004c7ec:
  bVar4 = *(byte *)(puVar32 + 9);
  if ((bVar4 & 1) == 0) goto LAB_0004ba48;
code_r0x0004c7fc:
  uVar28 = DAT_00089010 & local_3c;
  if (((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&
      ((DAT_00089014 & local_38 & 0xffffff00) == 0 && (DAT_00089014 & local_38 & 0x80) == 0))
  goto code_r0x0004c880;
  local_c0 = (byte)(uVar28 >> 0x18);
  if ((((((byte)(uVar28 >> 0x10) ^ DAT_00089010._2_1_) & 0x40) != 0 ||
        ((bVar29 ^ local_c0) & 2) != 0) ||
      (uVar28 = local_44 & DAT_00089018,
      ((uVar28 & 0xffffff) == 0 && (uVar28 >> 0x18 & 0x1d) == 0) &&
      ((local_40 & DAT_0008901c & 0xffffff00) == 0 && (local_40 & DAT_0008901c & 0x80) == 0))) ||
     (local_c0 = (byte)(uVar28 >> 0x18),
     (((byte)(uVar28 >> 0x10) ^ bVar18) & 0x40) != 0 || ((bVar30 ^ local_c0) & 2) != 0))
  goto code_r0x0004c880;
  if (local_d0 != 0) {
    if (((((DAT_00089010 & 5) != 0) ||
         ((((DAT_00089010 >> 0x10 & 0x5f) != 0 && ((DAT_00089014 & 0x40) == 0)) &&
          ((local_3c & 4) != 0)))) &&
        (((DAT_00089018 & 5) != 0 ||
         ((((DAT_00089018 >> 0x10 & 0x5f) != 0 && ((DAT_0008901c & 0x40) == 0)) &&
          ((local_44 & 4) != 0)))))) &&
       ((((char)(bVar29 ^ bVar30) < '\0' ||
         (((local_c8 ^ (byte)DAT_0008901c) & 0x3a) != 0 || ((bVar29 ^ bVar30) & 0x60) != 0)) &&
        (((bStack_39 >> 5 & 1 & local_44._3_1_ >> 5 & 1) != 0 ||
         ((((((local_44._3_1_ >> 6 & 1 & bStack_39 >> 6 & 1) != 0 ||
             ((char)(local_44._3_1_ & bStack_39) < '\0')) ||
            (((byte)local_38 >> 1 & 1 & (byte)local_40 >> 1 & 1) != 0)) ||
           ((((byte)local_38 >> 3 & 1 & (byte)local_40 >> 3 & 1) != 0 ||
            (((byte)local_40 >> 4 & 1 & (byte)local_38 >> 4 & 1) != 0)))) ||
          (((byte)local_40 >> 5 & 1 & (byte)local_38 >> 5 & 1) != 0)))))))) {
      DAT_000890f8 = 2;
      goto LAB_0004ba48;
    }
  }
  local_dc = 0;
  if ((bVar4 & 1) != 0) {
    local_dc = (-(uint)((local_40 & 4) == 0) & 0xfffffc02) + 0x400;
  }
  uVar28 = local_dc | 8;
  if ((*(byte *)((int)puVar32 + 0x25) & 4) == 0) {
    uVar28 = local_dc;
  }
LAB_0004c685:
  local_dc = uVar28;
  if ((((((puVar32[8] & DAT_00065384) != 0) || ((puVar32[7] & DAT_00065380) != 0)) ||
       ((puVar32[6] & DAT_0006537c) != 0)) || ((puVar32[5] & DAT_00065378) != 0)) &&
     ((((*(byte *)(puVar32 + 6) | (byte)DAT_00080540) & 8) == 0 && (puVar32[1] != 0)))) {
    iVar19 = 0;
    do {
      if (((*(byte *)(puVar32 + iVar19 * 2 + 0xd) & 0x20) != 0) &&
         (((*(byte *)(&DAT_00089014 + iVar19 * 2) & 0x10) != 0 ||
          ((*(byte *)(&DAT_00089014 + iVar19 * 2) & 8) != 0)))) goto LAB_0004cc2a;
      iVar19 = iVar19 + 1;
    } while (puVar32[1] != iVar19);
  }
  bVar17 = *(byte *)((int)puVar32 + 0x2a) & 0x30;
  if ((*(byte *)((int)puVar32 + 0x2a) & 0x30) == 0) {
    if ((DAT_00089078 != 0) && ((*(byte *)(DAT_00089078 + 8) & 0x38) != 0)) {
      DAT_000890f8 = 0xb;
      local_e0 = 0xb;
      goto LAB_0004ba48;
    }
    if ((*(byte *)(puVar32 + 0xb) & 8) != 0) goto LAB_0004c6f7;
    goto LAB_0004c71a;
  }
  if ((*(byte *)(puVar32 + 0xb) & 8) != 0) {
LAB_0004c6f7:
    if ((DAT_000890c4 == (int *)0x0) || (*(char *)(*DAT_000890c4 + 0xd) == '\0')) {
      DAT_000890f8 = 0x11;
      local_e0 = 0x11;
      goto LAB_0004ba48;
    }
    if (bVar17 == 0) goto LAB_0004c71a;
  }
  if (DAT_00089078 != 0) {
    if (bVar17 == 0x10) {
      bVar17 = *(byte *)(DAT_00089078 + 8) & 8;
    }
    else if (bVar17 == 0x20) {
      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x10;
    }
    else {
      if (bVar17 != 0x30) goto LAB_0004cef0;
      bVar17 = *(byte *)(DAT_00089078 + 8) & 0x20;
    }
    if (bVar17 != 0) {
      if (DAT_00089000 == 2) {
        if (DAT_000890c4 != (int *)0x0) goto LAB_0004c71a;
        if ((DAT_00089010 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/config/tc-i386.c",0x13b0,"check_VecOperands",DAT_00089078);
        }
        if ((DAT_00089014 & 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/config/tc-i386.c",0x13b2,"check_VecOperands",2);
        }
        if ((_DAT_00089020 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/config/tc-i386.c",0x13b3,"check_VecOperands",2);
        }
        if ((_DAT_00089024 & 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/config/tc-i386.c",0x13b5,"check_VecOperands",2);
        }
        if (DAT_00080550 != 0) {
          uVar28 = (uint)*(byte *)(DAT_00089038 + 0xd);
          if ((*(byte *)(DAT_00089038 + 0xc) & 1) != 0) {
            uVar28 = uVar28 + 8;
          }
          if ((*(byte *)(DAT_00089038 + 0xc) & 4) != 0) {
            uVar28 = uVar28 + 0x10;
          }
          bVar17 = *(byte *)(DAT_00089078 + 0xc);
          uVar20 = (uint)bVar17;
          local_d4 = (uint)*(byte *)(DAT_00089078 + 0xd);
          if ((bVar17 & 1) != 0) {
            local_d4 = local_d4 + 8;
          }
          if ((bVar17 & 4) != 0) {
            local_d4 = local_d4 + 0x10;
          }
          if (local_d4 != uVar28) {
            uVar20 = (uint)*(byte *)(DAT_00089040 + 0xd);
            if ((*(byte *)(DAT_00089040 + 0xc) & 1) != 0) {
              uVar20 = uVar20 + 8;
            }
            if ((*(byte *)(DAT_00089040 + 0xc) & 4) != 0) {
              uVar20 = uVar20 + 0x10;
            }
            if ((local_d4 != uVar20) && (uVar28 != uVar20)) goto LAB_0004d657;
          }
          if (DAT_00080550 == 2) goto LAB_0004ddd8;
          pcVar26 = "mask, index, and destination registers should be distinct";
          goto LAB_0004cd9e;
        }
      }
      else {
        if (DAT_000890c4 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/config/tc-i386.c",0x13ad,"check_VecOperands",0);
        }
        if (((DAT_00089000 == 1) && ((DAT_00089018 & 4) != 0)) && ((DAT_0008901c & 0x38) != 0)) {
          uVar28 = (uint)*(byte *)(DAT_0008903c + 0xd);
          if ((*(byte *)(DAT_0008903c + 0xc) & 1) != 0) {
            uVar28 = uVar28 + 8;
          }
          if ((*(byte *)(DAT_0008903c + 0xc) & 4) != 0) {
            uVar28 = uVar28 + 0x10;
          }
          uVar20 = (uint)*(byte *)(DAT_00089078 + 0xd);
          if ((*(byte *)(DAT_00089078 + 0xc) & 1) != 0) {
            uVar20 = uVar20 + 8;
          }
          if ((*(byte *)(DAT_00089078 + 0xc) & 4) != 0) {
            uVar20 = uVar20 + 0x10;
          }
          if (uVar20 == uVar28) {
            if (DAT_00080550 == 2) {
LAB_0004ddd8:
              DAT_000890f8 = 10;
              local_e0 = 10;
              goto LAB_0004ba48;
            }
            if (DAT_00080550 == 0) goto LAB_0004c71a;
            pcVar26 = "index and destination registers should be distinct";
            uVar20 = DAT_00080550;
LAB_0004cd9e:
            uVar27 = dcgettext(0,pcVar26,5,uVar20);
            FUN_0002bc80(uVar27);
          }
        }
LAB_0004c71a:
        iVar19 = DAT_00088ffc;
        bVar17 = *(byte *)((int)puVar32 + 0x2b);
        if (DAT_000890cc != (int *)0x0) {
          if ((bVar17 & 0x20) != 0) {
            local_d4 = DAT_000890cc[1];
            bVar18 = *(byte *)((int)&DAT_00088fa0 + (local_d4 + 0xe) * 8 + 3);
            if ((bVar18 & 0x10) != 0) {
              iVar23 = local_d4 + 6;
              cVar3 = *(char *)((int)puVar32 + iVar23 * 8 + 3);
              if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 0x40) == 0) {
                if (cVar3 < '\0') {
                  iVar24 = 4;
                  if ((char)bVar18 < '\0') goto LAB_0004c78c;
                }
                else {
                  iVar24 = 8;
                  if (((&DAT_00088fa4)[(local_d4 + 0xe) * 8] & 2) != 0) goto LAB_0004c78c;
                }
              }
              else {
                iVar24 = (-(uint)(-1 < cVar3) & 4) + 4;
LAB_0004c78c:
                iVar24 = iVar24 * *DAT_000890cc;
                if (iVar24 == 0x10) {
                  uVar28 = 8;
                }
                else if (iVar24 < 0x11) {
                  uVar28 = 2;
                  if (iVar24 != 8) goto LAB_0004c7c9;
                }
                else if (iVar24 == 0x20) {
                  uVar28 = 0x10;
                }
                else {
                  uVar28 = 0x20;
                  if (iVar24 != 0x40) goto LAB_0004c7c9;
                }
                if ((puVar32[iVar23 * 2 + 1] & uVar28) != 0) {
                  if (((*(byte *)((int)puVar32 + 0x25) & 0x40) != 0) && (DAT_00088ffc != 0)) {
                    iVar24 = 0;
                    do {
                      if (local_d4 != iVar24) {
                        iVar1 = iVar24 * 8;
                        uVar20 = (&DAT_00089010)[iVar24 * 2];
                        bVar18 = *(byte *)(puVar32 + iVar24 * 2 + 0xd);
                        bVar29 = *(byte *)((int)puVar32 + iVar23 * 8 + 3);
                        bVar30 = *(byte *)(puVar32 + iVar23 * 2 + 1);
                        if (((((uVar20 & 5) != 0) ||
                             ((((uVar20 >> 0x10 & 0x5f) != 0 &&
                               (((&DAT_00089014)[iVar24 * 2] & 0x40) == 0)) &&
                              ((puVar32[iVar24 * 2 + 0xc] & 4) != 0)))) &&
                            (((puVar32[iVar23 * 2] & 4) != 0 &&
                             ((((uVar20 >> 0x18 & 0x60) != 0 || ((int)uVar20 < 0)) ||
                              ((((&DAT_00089014)[iVar24 * 2] ^ uVar28) & 0x3a) != 0)))))) &&
                           ((((((bVar29 >> 5 & 1 & *(byte *)((int)puVar32 + iVar1 + 0x33) >> 5 & 1)
                                != 0 || ((bVar29 >> 6 & 1 &
                                         *(byte *)((int)puVar32 + iVar1 + 0x33) >> 6 & 1) != 0)) ||
                              ((char)(bVar29 & *(byte *)((int)puVar32 + iVar1 + 0x33)) < '\0')) ||
                             (((bVar30 >> 1 & 1 & bVar18 >> 1 & 1) != 0 ||
                              ((bVar30 >> 3 & 1 & bVar18 >> 3 & 1) != 0)))) ||
                            (((bVar30 >> 4 & 1 & bVar18 >> 4 & 1) != 0 ||
                             ((bVar18 >> 5 & 1 & bVar30 >> 5 & 1) != 0)))))) goto LAB_0004c7c9;
                      }
                      iVar24 = iVar24 + 1;
                    } while (iVar24 != DAT_00088ffc);
                  }
                  goto LAB_0004d08c;
                }
              }
            }
          }
LAB_0004c7c9:
          DAT_000890f8 = 0xc;
          local_e0 = 0xc;
          goto LAB_0004ba48;
        }
        if (((bVar17 & 0x20) == 0) || (DAT_00089008 == 0)) {
          local_d4 = 4;
        }
        else {
          if (DAT_00088ffc == 0) {
LAB_0004cfed:
                    /* WARNING: Subroutine does not return */
            FUN_0002be80("../../gas/config/tc-i386.c",0x141e,"check_VecOperands",DAT_00088ffc);
          }
          if ((DAT_00089010 & 0x5f0000) == 0) {
            local_d4 = 0;
            do {
              local_d4 = local_d4 + 1;
              if (local_d4 == DAT_00088ffc) goto LAB_0004cfed;
            } while ((*(ushort *)((int)&DAT_00089010 + local_d4 * 8 + 2) & 0x5f) == 0);
          }
          else {
            local_d4 = 0;
          }
          if (*(char *)((int)puVar32 + local_d4 * 8 + 0x33) < '\0') {
            bVar18 = *(byte *)((int)&DAT_00089010 + local_d4 * 8 + 3) >> 7;
          }
          else {
            bVar18 = *(byte *)(&DAT_00089014 + local_d4 * 2) >> 1 & 1;
          }
          if (bVar18 != 0) {
            DAT_000890f8 = 0xe;
            local_e0 = 0xe;
            goto LAB_0004ba48;
          }
        }
LAB_0004d08c:
        if (DAT_000890c4 != (int *)0x0) {
          if (((bVar17 & 0x18) == 0) || ((DAT_000890c4[1] != 0 && ((bVar17 & 0x18) == 0x10)))) {
            DAT_000890f8 = 0xf;
            local_e0 = 0xf;
            goto LAB_0004ba48;
          }
          if (DAT_000890c4[2] != DAT_00088ffc + -1) {
            DAT_000890f8 = 0x10;
            local_e0 = 0x10;
            goto LAB_0004ba48;
          }
        }
        if (DAT_000890c8 != (int *)0x0) {
          if (*DAT_000890c8 == 4) {
            if ((bVar17 & 0xc0) != 0x80) goto LAB_0004dd1c;
          }
          else if ((bVar17 & 0x40) == 0) {
LAB_0004dd1c:
            DAT_000890f8 = 0x12;
            local_e0 = 0x12;
            goto LAB_0004ba48;
          }
          if ((1 < DAT_0008900c) && (DAT_000890c8[1] != DAT_0008900c - 1)) {
            DAT_000890f8 = 0x13;
            local_e0 = 0x13;
            goto LAB_0004ba48;
          }
        }
        DAT_000890d0 = *(byte *)(puVar32 + 0xb) & 7;
        if (((*(byte *)(puVar32 + 0xb) & 7) != 0) && (DAT_000890d8 != 2)) {
          if (DAT_000890cc != (int *)0x0) {
            DAT_000890d0 = ((int)((uint)(*(byte *)((int)puVar32 + local_d4 * 8 + 0x33) >> 7) << 0x1f
                                 ) >> 0x1f) + 3;
          }
          if (DAT_00088ffc != 0) {
            iVar23 = 0;
            do {
              if (((*(byte *)((int)&DAT_00089010 + iVar23 * 8 + 2) & 0x1f) != 0) &&
                 (iVar24 = (&DAT_00089038)[iVar23], *(char *)(iVar24 + 0x10) == '\x02')) {
                uVar28 = *(uint *)(iVar24 + 8);
                if (DAT_000890d0 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
                  FUN_0002be80("../../gas/config/tc-i386.c",0x896,"fits_in_disp8",uVar28);
                }
                bVar17 = (byte)DAT_000890d0;
                if (((1 << (bVar17 & 0x1f)) - 1U & uVar28) == 0) {
                  uVar31 = *(int *)(iVar24 + 0xc) >> (bVar17 & 0x1f);
                  uVar28 = uVar28 >> (bVar17 & 0x1f) |
                           *(int *)(iVar24 + 0xc) << 0x20 - (bVar17 & 0x1f);
                  uVar20 = uVar31;
                  if ((DAT_000890d0 & 0x20) != 0) {
                    uVar20 = (int)uVar31 >> 0x1f;
                    uVar28 = uVar31;
                  }
                  iVar24 = uVar20 + (0xffffff7f < uVar28);
                  if (iVar24 == 0 && (uint)(0xff < uVar28 + 0x80) <= (uint)-iVar24) {
                    pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);
                    *pbVar2 = *pbVar2 | 1;
                    goto LAB_0004d657;
                  }
                }
                pbVar2 = (byte *)((int)&DAT_00089010 + iVar23 * 8 + 2);
                *pbVar2 = *pbVar2 & 0xfe;
              }
              iVar23 = iVar23 + 1;
            } while (iVar23 != iVar19);
          }
        }
        DAT_000890d0 = 0;
      }
LAB_0004d657:
      if (DAT_000890e4 == 3) {
        if (*(char *)((int)puVar32 + 0x2b) != '\0') goto LAB_0004d671;
      }
      else {
        if ((*(byte *)((int)puVar32 + 0x29) & 6) != 0) {
          if ((*(byte *)((int)puVar32 + 0x35) & 1) == 0) goto LAB_0004d671;
          if ((*(char *)(DAT_00089038 + 0x10) == '\x02') &&
             ((*(uint *)(DAT_00089038 + 8) & 0xfffffff0) == 0 && *(int *)(DAT_00089038 + 0xc) == 0))
          {
            DAT_00089010 = 0;
            DAT_00089014 = 0x100;
            puVar21 = (undefined4 *)DAT_00088f88[1];
            goto LAB_0004bec6;
          }
          DAT_000890f8 = 5;
          local_e0 = 5;
          goto LAB_0004ba48;
        }
        if (DAT_000890e4 == 0) {
LAB_0004d671:
          puVar21 = (undefined4 *)DAT_00088f88[1];
          goto LAB_0004bec6;
        }
      }
LAB_0004cc2a:
      DAT_000890f8 = 8;
      local_e0 = 8;
      goto LAB_0004ba48;
    }
  }
LAB_0004cef0:
  DAT_000890f8 = 9;
  local_e0 = 9;
LAB_0004ba48:
  puVar21 = (undefined4 *)DAT_00088f88[1];
  puVar33 = puVar32 + 0x16;
  if (puVar21 <= puVar32 + 0x16) goto LAB_0004bec0;
  goto LAB_0004ba5c;
LAB_0004bec0:
  puVar32 = puVar32 + 0x16;
LAB_0004bec6:
  if (puVar21 == puVar32) {
    if (local_e0 == 0) {
      local_e0 = DAT_000890f8;
    }
    switch(local_e0) {
    case 0:
      pcVar26 = "operand size mismatch";
      break;
    case 1:
      pcVar26 = "operand type mismatch";
      break;
    case 2:
      pcVar26 = "register type mismatch";
      break;
    case 3:
      goto LAB_0004cbaa;
    case 4:
      pcVar26 = "invalid instruction suffix";
      break;
    case 5:
      pcVar26 = "constant doesn\'t fit in 4 bits";
      break;
    case 6:
      pcVar26 = "unsupported with Intel mnemonic";
      break;
    case 7:
      pcVar26 = "unsupported syntax";
      break;
    case 8:
      uVar22 = *(undefined4 *)*DAT_00088f88;
      uVar27 = 5;
      uVar25 = dcgettext(0,"unsupported instruction `%s\'",5);
      goto code_r0x0004ca4e;
    case 9:
      pcVar26 = "invalid VSIB address";
      break;
    case 10:
      pcVar26 = "mask, index, and destination registers must be distinct";
      break;
    case 0xb:
      pcVar26 = "unsupported vector index register";
      break;
    case 0xc:
      pcVar26 = "unsupported broadcast";
      break;
    case 0xd:
      pcVar26 = "broadcast not on source memory operand";
      break;
    case 0xe:
      pcVar26 = "broadcast is needed for operand of such type";
      break;
    case 0xf:
      pcVar26 = "unsupported masking";
      break;
    case 0x10:
      pcVar26 = "mask not on destination operand";
      break;
    case 0x11:
      pcVar26 = "default mask isn\'t allowed";
      break;
    case 0x12:
      pcVar26 = "unsupported static rounding/sae";
      break;
    case 0x13:
      if (DAT_00088ef4 == 0) {
        pcVar26 = "RC/SAE operand must follow immediate operands";
      }
      else {
        pcVar26 = "RC/SAE operand must precede immediate operands";
      }
      break;
    case 0x14:
      pcVar26 = "invalid register operand";
      break;
    default:
                    /* WARNING: Subroutine does not return */
      FUN_0002be80("../../gas/config/tc-i386.c",0x160d,"match_template",puVar32);
    }
LAB_0004ca20:
    uVar22 = dcgettext(0,pcVar26,5);
    uVar27 = *(undefined4 *)*DAT_00088f88;
    uVar25 = dcgettext(0,"%s for `%s\'",5);
code_r0x0004ca4e:
    FUN_0002bd60(uVar25,uVar22,uVar27);
    return (undefined4 *)0x0;
  }
  if (DAT_00088ec0 != 0) goto LAB_0004bf2b;
LAB_0004bed8:
  if (DAT_00088ef4 == 0) {
    if ((DAT_00089010._3_1_ >> 1 & 1) != (local_44._3_1_ >> 1 & 1)) {
      uVar27 = *puVar32;
      uVar22 = dcgettext(0,"indirect %s without `*\'",5);
      FUN_0002bc80(uVar22,uVar27);
    }
  }
  if (((*(byte *)(puVar32 + 10) & 0x10) != 0) && (*(char *)((int)puVar32 + 0x25) < '\0')) {
    uVar27 = *puVar32;
    uVar22 = dcgettext(0,"stand-alone `%s\' prefix",5);
    FUN_0002bc80(uVar22,uVar27);
  }
LAB_0004bf2b:
  puVar33 = puVar32;
  puVar21 = &DAT_00088fa0;
  for (iVar19 = 0x16; iVar19 != 0; iVar19 = iVar19 + -1) {
    *puVar21 = *puVar33;
    puVar33 = puVar33 + (uint)bVar34 * -2 + 1;
    puVar21 = puVar21 + (uint)bVar34 * -2 + 1;
  }
  if (local_d8 != -1) {
    uVar5 = (&local_40)[local_d8 * 2];
    *(undefined4 *)(&DAT_00088fd0 + local_d8 * 8) = (&local_44)[local_d8 * 2];
    (&DAT_00088fd4)[local_d8 * 2] = uVar5;
  }
  if (local_dc != 0) {
    DAT_00088fa8 = DAT_00088fa8 ^ local_dc;
    DAT_00088fd4 = local_38;
    _DAT_00088fd0 = local_3c;
    DAT_00088fdc = local_40;
    DAT_00088fd8 = local_44;
  }
  return puVar32;
}

